我正在尝试删除包含搜索词组的行,如果它与现有文本文件中的词匹配。当将短语与文本文件的第一行匹配时,它似乎不一致。但是,在第一行之后,我尝试匹配第二行和第三行中的短语,但似乎没有删除这些行。
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()
答案 0 :(得分:1)
您确定文本文件包含与输入短语具有完全相同外壳的行吗?即使一个字符略有不同也会导致它被忽略。
我建议在“短语”和“行”上使用.lower():
if phrase.lower().strip() != line.lower().strip():
f.write(line)