我很难将一个文本文件一分为二。
例如,这将文件一分为二,但如果行数不均匀,则会创建第三个文件:
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])