循环通过一对文件python

我有一个脚本,可以接收两个文件作为输入并根据行创建一个字典。最后,它将覆盖第一个文件。

我正在寻找一种在文件夹的所有文件对上运行此脚本的方法,根据名称中的模式选择sys.argv [1]和sys.argv [2]。

import re
import sys

datafile = sys.argv[1]
schemaseqs = sys.argv[2]

datafile_lines = []
d = {}
prev = None
with open(datafile, 'r') as f:
    i = 0
    for line in f:
        if i % 2 == 0:
            d[line.strip()]=0
            prev = line.strip()
        else:
            d[prev] = line.strip()
        i+=1

new_d = {}
with open(schemaseqs, 'r') as f:
    i=0
    prev = None
    for line in f:
        if i % 2 == 0:
            new_d[line.strip()]=0
            prev = line.strip()
        else:
            new_d[prev] = line.strip()
        i+=1

for key, value in d.items():
    if value in new_d:
        d[key] = new_d[value]

print(d)

with open(datafile,'w') as filee:
    for k,v in d.items():
        filee.writelines(k)
        filee.writelines('\n')
        filee.writelines(v)
        filee.writelines('\n')

我有数百个文件对,每个文件对都共享相同的模式蛋白质XXXX(其中XXXX是数字),该数字最多可以包含四个数字(例如9,99,999或9999)。所以我有蛋白质555.txt和蛋白质555.fasta

我已经看到我可以使用glob或os.listdir从目录中读取文件。但是,我不能将它们分配给变量,也不能在目录的每对中一次提取一对线。

任何帮助表示赞赏。