将文件拆分为两行,但保留行



我很难将一个文本文件一分为二。

例如,这将文件一分为二,但如果行数不均匀,则会创建第三个文件:

for line in infile:
count_lines += 1
lines_per_file = int(count_lines / 2)
subprocess.call(['split', '-l', str(lines_per_file), '--numeric-suffixes', infile, chunk_destination])

虽然这将文件一分为二,但将行一分为二:

subprocess.call(['split', '-n', '1/2', '--numeric-suffixes', infile, chunk_destination])

有没有一种相对简单的方法可以用Python或Bash将文件一分为二,将额外的一行(如果行数不均匀(添加到两个现有文件中的一个文件中,而不是将第三行拆分为两个文件但保留行?

实际上,新版本的split有一个保留行的选项:

CHUNKS可能是:根据输入大小将N个文件拆分为N个文件K/N输出第Kth个N到stdoutl/N拆分为N个文件而不拆分行/记录l/K/N将N的Kth输出到stdout,而不拆分行/记录r/N类似于"l",但使用循环分布r/K/N类似,但仅将N的Kth输出到标准输出

所以这是有效的:

subprocess.call(['split', '-n', 'l/2', '--numeric-suffixes', infile, chunk_destination])

最新更新