python分批定量读取文件内容,输出到不同文件中的方法
作者:yiranxijie
今天小编就为大家分享一篇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分批定量读取文件内容,输出到不同文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。