Code: Select all
==============
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
==============
Hinweis: Ich kann nicht die genaue Anzahl der Zeilen nach der Zeile id = 2222 verwenden, da diese von Datei zu Datei variieren kann.
Programmschritte:
- Suchen Sie zuerst die Zeile mit id = 2222.
- Gehen Sie zum ersten Vorkommen der Zeile ===== vor der Zeile id = 2222.
- Gehen Sie zum letzten Vorkommen der Zeile ===== nach der Zeile id = 2222.
- Drucken Sie alle Zeilen dazwischen Muster ===== zwischen id = 2222 Zeile.
Code: Select all
==============
ddddd
eeeee
fffff
id = 22222
some text here
some text here
==============
Code: Select all
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')