我正在打开两个文件 - 一个包含要进行比较的新文件,另一个包含我需要从此文件中删除的热门词。到目前为止,我已将此作为一项功能:
def remove(file, buzz):
#outer for loop cycles through the buzz file
for line in buzz:
#inner for loop cycles through the new file
for line2 in file:
if (line==line2):
file.remove(line2)
else:
continue
其中file是在main()
中打开并传递给它的新文件,而buzz
是从main()
打开并传递的buzz文件。
删除部分无效,新文件不会更改。
有什么建议吗?
答案 0 :(得分:3)
首先阅读每个文件的内容并将它们放在列表中:
a_list = open(file_a).read().splitlines()
b_list = open(file_b).read().splitlines()
然后删除a_list中b_list中的单词:
a_list = [word for word in a_list if word not in b_list]
a_list现在只包含不在b_list
中的单词答案 1 :(得分:0)
打开并将文件数据放入列表中:
/* comment */
然后过滤掉单词:
file_data = [line.strip() for line in open(file)]
buzz_data = [line.strip() for line in open(buzz)]
最后将新数据写入文件:
new = [line for line in file_data if line not in buzz_data]