Я делаю программу, которая удаляет определенные строки из существующего файла. Он принимает файл1 как запись (f1), он ищет определенный шаблон и, если он его находит, он изменяет строку (чтобы сделать ее совместимой с другим файлом) и сохраняет эту модификацию в переменной «mark». Он открывает другой файл f2 и ищет в нем «знак». Если он находит «метку» в определенной строке в f2, мне нужно удалить эту строку и три строки после. Дело в том, что когда я запускаю его, программа удаляет все из f2, поэтому я получаю пустой файл в результате.Python: удалить определенные строки из файла
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(), но получил тот же результат и ошибку «stop iteration».
Пожалуйста, не забудьте вернуться и принять ответ, который вы нашли наиболее полезным для вас. Это принесет вам пользу, те, кто пытается ответить на ваш вопрос, и сообщество в целом. Вот как мы говорим «спасибо» здесь. – ray