假设我有1个类似这样方式生成的文件:
with open('my-file.txt','wb') as f:
for x in xrange(300000):
f.write('hello,world\n')
现在我们想按照每个文件1000行的方式对之前生成的文件进行拆分,该如何处理?
假设我有1个类似这样方式生成的文件:
with open('my-file.txt','wb') as f:
for x in xrange(300000):
f.write('hello,world\n')
现在我们想按照每个文件1000行的方式对之前生成的文件进行拆分,该如何处理?
with open('my-file.txt', 'r') as reader:
counter = 0
findex = 0
for line in reader:
if counter==0:
writer = open('file-'+str(findex), 'w')
print >> writer, line.strip()
counter += 1
if counter >= 1000:
writer.close()
counter = 0
findex += 1
其實,Linux 的 split
指令就可以作到這件事了:
$ split -l 1000 my-file.txt
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答993 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
如果是不知文件有多大就用try来捕捉StopIteration异常来终止程序