Python: извлечение разделов из текстового файла и запись их в новые отдельные текстовые файлы - PullRequest
0 голосов
/ 04 декабря 2018

Извините за пустые вопросы здесь.

В Python у меня есть входной текстовый файл, как на картинке здесь textfile , который включает в себя 3 раздела текста, и мне нужно сначаланайти все строки в нижней части каждого раздела текста, который включает «shsux / en», а затем в этом разделе я хотел бы вернуться назад и найти все строки, которые начинаются с «udp» и «jkp»,и вывести весь раздел в новый текстовый файл.

Но я новичок в Python, и я не уверен, что будет лучшим способом добиться этого.Цени любой любезный ответ.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Я бы сделал что-то вроде этого:

out_big = f.open(first_output_file, "w")
out_small_1 = f.open(second_output_file, "w")
out_small_2 = f.open(third_output_file, "w")
with open(source_file, "r") as f:
    for line in f:
        if "shsux" in line:
            out_big.write(line)
            if line.startswith("udp"):
                out_small_1.write(line)
            elif line.startswith("jkp"):
                out_small_2.write(line)
out_big.close()
out_small_1.close()
out_small_2.close()

Но я думаю, что большой файл с "shsux" не нужен, так что вы можете его пропустить.

Извините, ошибся, и использовал endswith () вместо setswith.

0 голосов
/ 04 декабря 2018

Как то так?

file1 = open('file1.txt', 'w')

with open('source.txt', 'r') as source_file:
    for line in source_file:
        if 'shsux' in line:
            file1.write(line)
        # Same for other files...

file1.close()
...