Печать строк между двумя повторяющимися шаблонами [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Печать строк между двумя повторяющимися шаблонами [закрыто]

Сообщение Anonymous »

У меня есть такой файл.
==============
aaaa
bbbb
cccc
id = 1111
some text here
some text here
==============
==============
ddddd
eeeee
fffff
id = 22222
some text here
some text here
==============
==============
ddddd
eeeee
fffff
id = 33333
some text here
some text here
==============

Мне нужно найти идентификатор = 2222 и получить полные строки между первым и последним шаблонами =======.
Примечание. Я не могу использовать точное количество строк после строки id = 2222, поскольку оно может различаться от файла к файлу.
Шаги программы:
  • Сначала найдите строка с идентификатором = 2222.
  • Перейти к первому вхождению строки ===== перед строкой с идентификатором = 2222.
    Перейти к последнему вхождению строки ===== после строки id = 2222.
  • Распечатать все строки между шаблоном ===== между id = 2222 строка.
Окончательный результат будет:
==============
ddddd
eeeee
fffff
id = 22222
some text here
some text here
==============

Как мне этого добиться? Я попробовал использовать ниже, но это не дало желаемого результата.
import re

START_PATTERN = '======='
END_PATTERN = '======='

with open('myfile') as file:
match = False
newfile = None

for line in file:
if re.match(START_PATTERN, line):
match = True
newfile = open('my_new_file.txt', 'w')
continue
elif re.match(END_PATTERN, line):
match = False
newfile.close()
continue
elif match:
newfile.write(line)
newfile.write('\n')


Подробнее здесь: https://stackoverflow.com/questions/793 ... d-patterns
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Печать линий между двумя повторяющимися узорами
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Sed для удаления строк между двумя совпадающими шаблонами
    Anonymous » » в форуме Linux
    0 Ответы
    49 Просмотры
    Последнее сообщение Anonymous
  • Как переключаться между двумя шаблонами данных в коде позади
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как переключаться между двумя шаблонами данных в коде позади
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как переключаться между двумя шаблонами данных в коде позади
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»