可以将一个大的txt文件分割成N个txt文件,可以自己设定每个文件的行数,非常实用。
源码如下:
5 | sourceFileName = "test.txt" #定义要分割的文件 |
8 | sourceFileData = open(sourceFileName, 'r' ) |
9 | ListOfLine = sourceFileData.read().splitlines()#将读取的文件内容按行分割,然后存到一个列表中 |
11 | print u "文件共有" +str(n)+u "行" |
12 | print u "请输入需要将文件分割的个数:" |
13 | m = int(raw_input( "" )) #定义分割的文件个数 |
15 | print u "需要将文件分成" +str(m)+u "个子文件" |
16 | print u "每个文件最多有" +str(p)+u "行" |
19 | print u "正在生成第" +str(i+1)+u "个子文件" |
20 | destFileName = os.path.splitext(sourceFileName)[0]+ "_part" +str(i)+ ".txt" #定义分割后新生成的文件 |
21 | destFileData = open(destFileName, "w" ) |
23 | for line in ListOfLine[i*p:]: |
24 | destFileData.write(line+ '\n' ) |
26 | for line in ListOfLine[i*p:(i+1)*p]: |
27 | destFileData.write(line+ '\n' ) |
运行展示:

自己作特别用途的版本:
6 | pattern = '[1-9][0-9]{4,}' |
7 | sourceFileName = "test.txt" #定义要分割的文件 |
10 | sourceFileData = open(sourceFileName, 'r' ) |
11 | ListOfLine = sourceFileData.read().splitlines()#将读取的文件内容按行分割,然后存到一个列表中 |
13 | print u "文件共有" +str(n)+u "行" |
14 | print u "请输入需要将文件分割的个数:" |
15 | m = int(raw_input( "" )) #定义分割的文件个数 |
17 | print u "需要将文件分成" +str(m)+u "个子文件" |
18 | print u "每个文件最多有" +str(p)+u "行" |
21 | print u "正在生成第" +str(i+1)+u "个子文件" |
22 | destFileName = os.path.splitext(sourceFileName)[0]+ "_part" +str(i)+ ".txt" #定义分割后新生成的文件 |
23 | destFileData = open(destFileName, "w" ) |
25 | for line in ListOfLine[i*p:]: |
26 | line = re.sub(pattern, "说" ,line ); |
27 | destFileData.write(line+ '\n' ) |
29 | for line in ListOfLine[i*p:(i+1)*p]: |
30 | line = re.sub(pattern, "说" , line); |
31 | destFileData.write(line+ '\n' ) |