一个1089行的文件需要被每100行拆到一个新的文件,最后剩下的放到最后一个文件。即,批量指定行数切割文件。后面就可以多线程的处理这些文件了。
1 待处理文件
2 python script
代码思路:
- 打开文件,readlines全部读取,计算行数
- 行数除拆分单元,提取n到n+拆分单元位文件,依次
- 余数用linux tail提取
#!/usr/bin/env python3
import re, os, sys
size = 100 # 多少行一个文件
inpath = "3324path.list" # 需要拆分的文件,3324行
with open(inpath) as infile:
infile = infile.readlines()
nrow = len(infile)
start = 0
end = size
for i in range(nrow//size):
#print(''.join(infile[start:end]))
batch_name = "batch_" + str(i+1) + ".path"
with open(batch_name, 'w') as o:
o.write(''.join(infile[start:end]))
start = start + size
end = end + size
os.system("tail -n " + str(nrow%size) + " " + inpath + " > batch_left.path")
3 使用script
运行程序
python3 ../script/cut_file.py
结果
网友评论