一、文件内容的分发
应用场景:分批读取共有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(" "))
block_path=base_path+str(i)+".txt"
f2=open(block_path,"w")
content=""
#最后的扫尾工作
content+=lines[i]
f2.write(content.strip(" "))
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分批定量读取文件内容,输出到不同文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。