Python:从文件中删除特定字符串

Zen*_*ega 2 python words

我有一个数据文件(未构造的凌乱文件),我必须从中擦除特定的字符串列表(删除字符串).

这是我正在做的但没有结果:

infile = r"messy_data_file.txt"
outfile = r"cleaned_file.txt"

delete_list = ["firstname1 lastname1","firstname2 lastname2"....,"firstnamen lastnamen"]
fin=open(infile,"")
fout = open(outfile,"w+")
for line in fin:
    for word in delete_list:
        line = line.replace(word, "")
    fout.write(line)
fin.close()
fout.close()
Run Code Online (Sandbox Code Playgroud)

当我执行该文件时,我收到以下错误:

NameError: name 'word' is not defined
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Ros*_*son 12

readlines方法返回一个列表,而不是单词,因此您的代码只能在您的一个单词本身就行的情况下工作.

由于文件是线上的迭代器,因此可以更容易地完成:

infile = "messy_data_file.txt"
outfile = "cleaned_file.txt"

delete_list = ["word_1", "word_2", "word_n"]
fin = open(infile)
fout = open(outfile, "w+")
for line in fin:
    for word in delete_list:
        line = line.replace(word, "")
    fout.write(line)
fin.close()
fout.close()
Run Code Online (Sandbox Code Playgroud)