Я делаю программу, которая удаляет определенные строки из существующего файла. Он берет файл1 как запись (f1), ищет определенный шаблон и, если находит его, модифицирует строку (чтобы сделать ее совместимой с другим файлом) и сохраняет эту модификацию в переменной 'mark'. Он открывает другой файл f2 и ищет в нем «метку». Если он находит «метку» в определенной строке в f2, я должен удалить эту строку и три строки после нее. Дело в том, что когда я ее запускаю, программа удаляет все из f2, поэтому в результате я получаю пустой файл.
new=''
pattern2 = '2:N:0:8'
i=0
f1=open('test_reverse.txt','r')
for line in f1:
if pattern2 in line:
mark=line.replace('2:N:0:8','1:N:0:8')
f2=open('test_OKforward2.txt','r')
lines=f2.readlines()
for i, line in enumerate(lines):
if mark in lines[i]:
e=lines[i]
e1=lines[i+1]
e2=lines[i+2]
e3=lines[i+3]
new=e+e1+e2+e3
f3=open('test_OKforward2.txt','w')
if line!=new:
f3.write(line)
Я также пытался использовать функцию next(), но получил тот же результат и ошибку «остановить итерацию».