当空白行分隔时,如何将txt文件分为两个单独的txt?

时间:2018-11-14 11:16:04

标签: python python-3.x file text-editor

当出现白线时,如何将单个.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

1 个答案:

答案 0 :(得分:2)

如果您知道文件只有一个空行,则可以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)

如果文件中有多个空行,则此操作将失败,因为拆分将返回两个以上的部分,并尝试将它们仅分配给两个名称,output1output2。可以告诉split仅分配最大次数,这样可能更安全:

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

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

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