Python:搜索字符串并从文本文件中删除该行

时间:2016-03-16 06:21:35

标签: python

我正在尝试删除包含搜索词组的行,如果它与现有文本文件中的词匹配。当将短语与文本文件的第一行匹配时,它似乎不一致。但是,在第一行之后,我尝试匹配第二行和第三行中的短语,但似乎没有删除这些行。

phrase = str(raw_input("Enter a phrase:")) 
f = open("old.txt","r")
lines = f.readlines()
f.close()
f = open("new.txt","w")
for line in lines:
    if phrase != line.strip():
        f.write(line)
f.close()

1 个答案:

答案 0 :(得分:1)

您确定文本文件包含与输入短语具有完全相同外壳的行吗?即使一个字符略有不同也会导致它被忽略。

我建议在“短语”和“行”上使用.lower():

if phrase.lower().strip() != line.lower().strip():
    f.write(line)