我正在尝试读取文件,查找特定单词,如果某行包含该单词,请删除该行并将其余行发送到新文件。 这就是我所拥有的,但它只发现其中一条线不是全部;
with open('letter.txt') as l:
for lines in l:
if not lines.startswith("WOOF"):
with open('fixed.txt', 'w')as f:
print(lines.strip(), file=f)
答案 0 :(得分:1)
问题在于,当您with open('fixed.txt', 'w') as f:
基本上overwrite the entire content of the file使用下一行时,a
。在追加模式with open('letter.txt') as l:
for lines in l:
if not lines.startswith("WOOF"):
with open('fixed.txt', 'a') as f:
print(lines.strip(), file=f)
...
w
...或(可能更好)以with open('letter.txt') as l, open('fixed.txt', 'w') as f:
for lines in l:
if not lines.startswith("WOOF"):
print(lines.strip(), file=f)
模式打开文件,但只在开头一次:
{{1}}