一、文件内容的分发
应用场景:分批读取共有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