一、文件内容的分发

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

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

txt_path = \"E:/torrenthandle.txt\"
 _path=\"E:/torrent_distribution/\"


def distribution( ):
 f = open(txt_path,\"r\") 
 lines = f.readlines()
 f2=open( _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= _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分批定量读取文件内容,输出到不同文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

收藏 打印