首页 > 解决方案 > 有没有一种方法可以从另一个文件中的一个文件中查找单词并将在另一个文件中找不到的单词输出到一个新文件中?

问题描述

我正在尝试比较 Python 中的两个文件,它们都包含一些单词。我希望代码在 file2 中查找 file1 中的单词,并将 file1 中未找到的单词作为输出放入新文件中。

下面的代码是我尝试过的,但它没有做任何事情。它甚至没有显示错误,所以我不知道出了什么问题或应该有所不同。

file1 = open('C:/Users/Atal/Desktop/School/Project datas/file1.txt')
file2 = open('C:/Users/Atal/Desktop/School/Project datas/file2.txt')

fileContent = file1.read();
fileContent2 = file2.read();

loglist = file1.readlines()

loglist2 = file2.readlines()
file2.close()

line = file1.readline()
file1.close()

found = False
for line in loglist:
if line in loglist2 :
    found = True

if not found:
file1 = open('C:/Users/Atal/Desktop/School/Project datas/file1.txt', 'w')
file1.write(line +"\n")
file1.close()

file1 看起来像这样:Peter Jan Richard

file2 看起来像这样:Floyd Richard Bob

新文件应如下所示: Peter Jan

如果有任何方法可以做到这一点,请告诉我。提前致谢。

标签: pythonpython-3.xfile

解决方案


使用 set 而不是 in 像这样:

list_1 = ['Peter', 'Jan', 'Richard']
list_2 = ['Floyd', 'Richard', 'Bob'] 

set_2 = set(list_2)  
main_list = [item for item in list_1 if item not in set_2]

main_list

输出:

['Peter', 'Jan']

推荐阅读