发出Python代码匹配文件

nit*_*nit 0 python

最近在stackoverflow的帮助下,我开始知道如何使用python匹配文本文件现在我面临着一些相同代码的小问题...它执行以下任务

输入程序是两个文本文件文件1

C1orf159

FAM79A

IGFBP2

RNF25
.

.

.

.
Run Code Online (Sandbox Code Playgroud)

档案2

ACVR2B

CACNA1A

RNF25

IGF2

.

.

.
Run Code Online (Sandbox Code Playgroud)

我写了一个python脚本来提取这两个文件之间的常用词,如下所示

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

list1=file1.readlines()
list2=file2.readlines()

for line1 in list1:
     for line2 in list2:
       if line1.strip() in line2.strip():
          print line2
      file3.write(line2)
Run Code Online (Sandbox Code Playgroud)

这给出了如下结果

RNF25

IGF2

.

.

.
Run Code Online (Sandbox Code Playgroud)

但是在这个输出中存在一个问题第二个词IGF2在file1中不存在...脚本正在将文件1中的IGFBP2与IFG2匹配.意味着它正在寻找模式......我不想要这个我想要两个文件之间的完全匹配. .

任何人都可以帮助修改我的脚本以获得两个文件之间的完全匹配...

谢谢你

Fre*_*Foo 5

你在寻找两个文件的交集吗?那是

s1 = set(open("f1.txt", "r"))
s2 = set(open("f2.txt", "r"))

for ln in s1 & s2:
     file3.write(ln)
Run Code Online (Sandbox Code Playgroud)