当有空行分隔时,如何将一个txt文件拆分成两个单独的txt?

How to split a txt file into two separate txt when there is a blank line separating?

出现白线时如何将单个.txt文件拆分成两个或多个.txt文件?

这是我的 txt 的示例:

a s d d d d s d f
f d e s s a d f s
a s d d d d s d f
f d e s s a d f s

dsdesd
dseesdse

我想知道如何将这个单一文本文件拆分成:

第一个 txt 文件:

a s d d d d s d f
f d e s s a d f s
a s d d d d s d f
f d e s s a d f s

第二个 txt 文件:

dsdesd
dseesdse

如果你知道文件只有一个空行,你可以split双换行符处的内容:

with open('input.txt') as f:
    contents = f.read()

output1, output2 = contents.split('\n\n')

with open('output1.txt', 'w') as o1:
    o1.write(output1)

with open('output2.txt', 'w') as o2:
    o2.write(output2)

如果您的文件有多个空行,这将失败,因为拆分将 return 超过 2 个部分,并尝试将它们分配给两个名称,output1output2. split 可以被告知只拆分最大次数,所以这样说可能更安全:

output1, output2 = contents.split('\n\n', 1)

如果有两个或两个以上空行,output1将是第一个空行之前的内容。 output2 将是第一个空行之后的所有内容,包括任何其他空行。

当然,如果没有空行,这可能会失败。