python如何查找两个文本文件之间的所有单词匹配

Posted

技术标签:

【中文标题】python如何查找两个文本文件之间的所有单词匹配【英文标题】:python how to find all word matches between two text files 【发布时间】:2022-01-14 13:58:09 【问题描述】:

我有两个文本文件,每个包含大约 370k 个单词,每行一个单词。其中一个文件是英文单词列表,另一个是随机乱码单词列表。我基本上想检查是否有任何随机单词实际上是真实单词,所以我想将一个文件中的每一行与另一个文件中的每一行进行比较。

我尝试了以下方法:

f1 = open("file1.txt", "r")
f2 = open("file2.txt", "r")
for line in f1:
    if line in f2:
        print(line)

这给了我大约 3 个结果,然后程序莫名其妙地结束而没有错误。

有更好的方法吗?

【问题讨论】:

它结束是因为你在第一次运行外循环时读到了 f2 的末尾。 @nicomp 如何跳回每个循环的 f2 开头? 在循环内打开和关闭f2 【参考方案1】:

据我所知,您想要两个列表中的intersection,您可以试试这个:

f1 = open("file1.txt", "r")
f2 = open("file2.txt", "r")

print(set(f1.readlines()).intersection(f2.readlines()))

f1.close()
f2.close()

【讨论】:

以上是关于python如何查找两个文本文件之间的所有单词匹配的主要内容,如果未能解决你的问题,请参考以下文章

查找文本文件中至少有两个共同单词的所有行(Bash)

grep 访问多行,查找两个模式之间的所有单词

如何从两个文本文件之间的单列中查找前三位匹配模式[关闭]

Python:读取文件时如何忽略两个特定单词之间的文本?

javascript 能够扫描文本并查找单词之间的匹配点,以提取语法

python 查找两个字符串之间的内容