Как разделить TXT-файл на два отдельных TXT, когда есть разделительная пустая строка? - PullRequest
0 голосов
/ 14 ноября 2018

Как я могу разбить один файл .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

Я хотел бы знать, как разбить этот единственный текстовый файл на:

Первый текстовый файл:

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

1 Ответ

0 голосов
/ 14 ноября 2018

Если вы знаете, что в файле будет только одна пустая строка, вы можете 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)

Еслив вашем файле более одной пустой строки, это не удастся, так как разделение вернет более двух частей и попытается присвоить их только двум именам output1 и output2.split можно сказать, чтобы разделить только максимальное количество раз, поэтому может быть безопаснее сказать:

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

Если есть два или более пустыхстрок, output1 будет содержимым до первой пустой строки.output2 будет всем после первой пустой строки, включая любые дальнейшие пустые строки.

Конечно, это может завершиться ошибкой, если нет пустых строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...