Как выделить каждую 5 строку в файле.

Skazka123

Новичок
Пользователь
Мар 14, 2023
3
0
1
Привет! Есть текстовый файл (.txt). В нем указаны новостные статьи, они разделены =====.

=====

Сайт
Название сайта
Дата и время
Автор
Заголовок
Текст

Заголовок расположен всегда на 5 строке. Подскажите, пожалуйста, как в отдельный файл записать только одни заголовки на Python? Я только учусь, работаю в Colab.
 

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
нужно прочитать текстовый файл и превратить его в список, разделив по =======. затем в цикле for каждый 5-й элемент списка превратить в список по \n и из этого нового списка в цикле for записать в новый файл 5-й элемент.

Python:
with open('file.txt', 'r') as fr:
    data = fr.read()

data_lst = data.split('=======')
for index, element in enumerate(data_lst, 1):
    if index > 0 and index // 5 == 0:
        element_lst = element.split('\n')
        for ind, el in enumerate(element_lst):
            if ind == 4:
                with open('out.txt', 'a') as fw:
                    fw.write(el)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
файл test.txt

Код:
=====

Сайт
Название сайта
Дата и время
Автор
Заголовок
Текст
=====

Сайт
Название сайта
Дата и время
Автор
Заголовок
Текст
=====

Сайт
Название сайта
Дата и время
Автор
Заголовок
Текст

код
Python:
with open("test.txt", "r", encoding="utf-8") as file:
    s = file.read()

result = ""
for i in s.split("====="):
    if i:
        lst = [value for value in i.split("\n") if value]
        result += f"{lst[-2]}\n"

with open("result.txt", "w", encoding="utf-8")as file:
    file.write(result)
 

Форум IT Специалистов