首页 > 解决方案 > 如何确认一个文件中的某些子字符串是否包含在另一个文件中?

问题描述

我有如下 2 个文件,并尝试在 file1 中查找 file2 的哪个子字符串:

文件 1.txt:

NP_001106283
MRIISRQIVLLFSGFWGLAMGAFPSSVQIGGLFIRNTDQEYTAFRLAIFLHNTSP
NP_001106697
MYLSRFLSIHALWVTVSSVMQPYPLVWGHYDLCKTQIYTEEGKVWD

文件2.txt

RIISRQIVLL
AABBCCDD
SRFLSIHAL
BBBBCCEE

期望的结果:

RIISRQIVLL
SRFLSIHAL

我尝试过但不起作用的代码:

with open("file1.txt", mode="r") as file1, open("file2.txt", mode="r") as file2:
    data=file1.read()
    for line in file2:
        if line in data:
            print(line)        

有什么建议或帮助吗?谢谢。

标签: pythonstringfilesubstring

解决方案


只需添加 line.strip() 你的代码就可以了。

with open("xyz.txt", 'r') as file1, open("second.txt", 'r') as file2, open('output.txt', 'w') as output:
    data=file1.read()
    for line in file2:
        if line.strip() in data:            
            output.write(line)

我试过了

xyz.txt

NP_001106283
MRIISRQIVLLFSGFWGLAMGAFPSSVQIGGLFIRNTDQEYTAFRLAIFLHNTSP
NP_001106697
MYLSRFLSIHALWVTVSSVMQPYPLVWGHYDLCKTQIYTEEGKVWD

第二个.txt

RIISRQIVLL
AABBCCDD
SRFLSIHAL
BBBBCCEE

输出:

RIISRQIVLL
SRFLSIHAL

推荐阅读