我正在製作一個從現有文件中刪除某些行的程序。它將file1作爲條目(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)
我嘗試使用下一個()函數,但我得到了同樣的結果和'停止迭代'錯誤。
請記得回來接受你認爲對你最有用的答案。它有利於你,那些試圖回答你的問題的人,還有整個社區。這就是我們在這裏說'謝謝'的方式。 – ray