Python 如何在目录中查找包含列表或其他文件中唯一项的文件?

Python 如何在目录中查找包含列表或其他文件中唯一项的文件?,python,python-3.x,Python,Python 3.x,我正在尝试编写一个Python3脚本来解析一个目录,该目录包含细菌物种名称和对应于每个物种的蛋白质序列的文件。这些文件称为fasta文件,因为每个序列的标识符(aka头)以“>”开头。例子如下 File_1 >Mycoplasma_hypo MAKEIILGIDLGTTNSVVAIIENQKPVVLENPNGKTTTPSVVAFKNNEEIVGDAAKRQ LETNPEAIASIKRLMGTDKTVRANNNNERDYKPEEISAKILAYLKEYAEKKIGHKVTK >Myco

我正在尝试编写一个Python3脚本来解析一个目录,该目录包含细菌物种名称和对应于每个物种的蛋白质序列的文件。这些文件称为fasta文件,因为每个序列的标识符(aka头)以“>”开头。例子如下

File_1
>Mycoplasma_hypo
MAKEIILGIDLGTTNSVVAIIENQKPVVLENPNGKTTTPSVVAFKNNEEIVGDAAKRQ
LETNPEAIASIKRLMGTDKTVRANNNNERDYKPEEISAKILAYLKEYAEKKIGHKVTK
>Mycoplasma_galli
MSNNNGLIIGIDLGTTNSCVSVMEGAQKVVIENPEGKRTTPSVVSYKNGEIIVGDAAKRQ
MLTNPNTIVSIKRLMGTSKKVKINDKGVEKELTPEEVSASILSYLKDYAEKKTGQKISR
>Mycoplasma_agal
MAKEVIIGIDLGTTNSVVSIVDNGSPVVLENLNGKRTTPSVVSFKDGEIIVGDNAKNQ
IETNPDTVASIKRLMGTSKTVHVNNNNNKDYKPEEISAMILEHLKKYAEEKIGHKIEK

File_2
>Mycoplasma_hypo
MAKEIILGIDLGTTNSVVAIIENQKPVVLENPNGKTTTPSVVAFKNNEEIVGDAAKRQ
LETNPEAIASIKRLMGTDKTVRANNNNERDYKPEEISAKILAYLKEYAEKKIGHKVTK
>Mycoplasma_galli
MSNNNGLIIGIDLGTTNSCVSVMEGAQKVVIENPEGKRTTPSVVSYKNGEIIVGDAAKRQ
MLTNPNTIVSIKRLMGTSKKVKINDKGVEKELTPEEVSASILSYLKDYAEKKTGQKISR
>Mycoplasma_galli
MSNNNGLIIGIDLGTTNSCVSVMEGAQKVVISVVSYKNLKDYAEKKHHGEIIVGDAAKRQ
MLTNPNTIVSIKRLMGTSKKVKI-NDKGVEKELTPEEVSASILSYLKDYAEKKTGQKISR
>Mycoplasma_gen
MAKENNVIIGIDLGTTNSVRTTPSVVSFKDGEIIVGDNAKNQVSIVDNGSPVVLENLNGK
IETNPDTVASIKRLMGTSKTVHVNNNNNNKDYKPEEISAMILEHLKKYAEEKIGHKIEK
如您所见,文件\u 2包含一个重复的(>支原体\u galli)。我想跳过这个文件并创建一个目录,其中包含来自给定列表或包含这些细菌种类名称的其他文件中的唯一细菌种类。此类查找文件的示例可以是:

查找文件

>Mycoplasma_galli 
>Mycoplasma_hypo
>Mycoplasma_gen
>Mycoplasma_agal
path=[“文件1.txt”,“文件2.txt”]
列出所有=[]
进口稀土
对于路径中的i:
s=打开(i).读取()
list_all=list_all+re.findall(r'(?\w+',s)#提取所有以'>'开头的单词
list_uni=list(set(list_all))
f=打开('lookup.txt','w+'))
f、 写(“\n”。加入(列表)
f、 关闭()

您的问题是什么?
path = ["File_1.txt","File_2.txt"]

list_all = []
import re
for i in path:
    s=open(i).read()
    list_all = list_all + re.findall(r'(?<=\s)\>\w+',s) #Extracts all words start with '>'

list_uni = list(set(list_all))

f = open('lookup.txt', 'w+')

f.write("\n".join(list_uni))

f.close()