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中怎么实现分批定量读取文件内容的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。