欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

python分批定量读取文件内容,输出到不同文件中的方法

时间:2021-03-19 09:45:26|栏目:Python代码|点击:

一、文件内容的分发

应用场景:分批读取共有358086行内容的txt文件,每取1000条输出到一个文件当中

# coding=utf-8
# 分批读取共有358086行内容的txt文件,每取1000条输出到一个文件当中

txt_path = "E:/torrenthandle.txt"
base_path="E:/torrent_distribution/"


def distribution( ):
 f = open(txt_path,"r") 
 lines = f.readlines()
 f2=open(base_path+"1.txt","w")
 content=""
 for i in range( 1,len(lines) ):
  if ( i%1000!=0 ):
   content+=lines[i-1]
  else:
   content+=lines[i-1]
   f2.write(content.strip('\n'))
   block_path=base_path+str(i)+".txt"
   f2=open(block_path,"w")
   content=""
 #最后的扫尾工作
 content+=lines[i] 
 f2.write(content.strip('\n')) 
 f2.close()
 f.close()

distribution( )

二、文件夹(目录)下的内容分发

应用场景:分批读取目录下的文件,每取1000条输出到一个新的目录当中

# coding: utf-8

import os
import shutil

sourcepath = "E:\\sample"
distribution_path = "E:\\sample\\distribution\\" 

if __name__ =='__main__':
 rs = unicode(sourcepath , "utf8")
 count = 1
 savepath = unicode(distribution_path+"1", "utf-8")
 if not os.path.exists(savepath):
  os.makedirs(savepath)
 for rt,dirs,files in os.walk(rs):
  for fname in files:
   if ( count%1000!=0 ):
    shutil.copy(rt + os.sep + fname,savepath) 
    #os.remove(rt + os.sep + fname)
   else:
    shutil.copy(rt + os.sep + fname,savepath) 
    #os.remove(rt + os.sep + fname)
    savepath = unicode(distribution_path+str(count), "utf-8")
    if not os.path.exists(savepath):
     os.makedirs(savepath)
   count+=1

上一篇:用Python写一个自动木马程序

栏    目:Python代码

下一篇:Python访问MongoDB,并且转换成Dataframe的方法

本文标题:python分批定量读取文件内容,输出到不同文件中的方法

本文地址:http://www.codeinn.net/misctech/83787.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有