一、文件内容的分发
应用场景:分批读取共有358086行内容的txt文件,每取1000条输出到一个文件当中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# 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条输出到一个新的目录当中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# 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分批定量读取文件内容,输出到不同文件中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u013863751/article/details/71719856