将特定行从一个文件写入另一个文件

时间:2014-08-06 10:49:28

标签: python python-3.x file-io

我正在尝试读取文件,查找特定单词,如果某行包含该单词,请删除该行并将其余行发送到新文件。 这就是我所拥有的,但它只发现其中一条线不是全部;

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)

1 个答案:

答案 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}}