最近在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匹配.意味着它正在寻找模式......我不想要这个我想要两个文件之间的完全匹配. .
任何人都可以帮助修改我的脚本以获得两个文件之间的完全匹配...
谢谢你
你在寻找两个文件的交集吗?那是
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)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |