【发布时间】:2015-12-11 23:08:15
【问题描述】:
除了格式为 (number_of_lines, number_difference, "Sam") 的标题之外,我还需要裁剪一个包含超过 10000 行数字的大型文本文件
Number_difference 是第一个和最后一个数字之间的差。
例如,如果文件如下所示:
10
12
13.5
17
20
那么,标题应该是: 5 10 山姆
问题是标志在不多次写入标头时不起作用,并且大文件的标头会延续到第一个小文件。
每个文件的标题永远不会相同。
如何为每个文件添加更改的标题?
def TextCropper():
lines_per_file = 1000
smallfile = None
with open(inputFileName) as bigfile:
for lineno, line in enumerate(bigfile):
if lineno % lines_per_file == 0:
if smallfile:
smallfile.close()
small_filename = 'small_file_{}.txt'.format(lineno + lines_per_file)
smallfile = open(small_filename, "w")
if (flags[counter] == False):
smallfile.write(lines_per_file)
flags[counter] = True
smallfile.write(line)
elif smallfile:
smallfile.close()
TextCropper()
【问题讨论】: