Python 匹配时,代码产生的结果不充分

Python 匹配时,代码产生的结果不充分,python,matching,Python,Matching,这是我的代码,我用它来匹配savedrecs文件中的引用和网站目录中的引用。结果的数字太小,所以我认为代码有问题 #!/usr/bin/python catalog=open("chemjournals1.txt","r") catalogdata=catalog.readlines() import glob import os import sys directories = ['Biomaterials' , 'Biophysical Journal' , 'Journal of B

这是我的代码,我用它来匹配savedrecs文件中的引用和网站目录中的引用。结果的数字太小,所以我认为代码有问题

#!/usr/bin/python

catalog=open("chemjournals1.txt","r")
catalogdata=catalog.readlines()

import glob
import os
import sys

directories = ['Biomaterials' , 'Biophysical Journal' , 'Journal of Biological Chemistry' , 'Molecular and Cellular Biology' , 'Molecular Aspects of Medicine' , 'PLoS Computational Biology']

 catalogRecs = {}

for line in catalogdata:
    rec = "SO " + line.strip()
    catalogRecs[rec] = True

for folder in directories:
    savedrecfilenames = glob.glob(os.path.join(folder, "savedrecs (*).txt     journals.txt"))
    #print savedrecfilenames
    for savedrecfilename in savedrecfilenames:
        i = 0
        savedrecfile=open(savedrecfilename,"r")
        fdata=savedrecfile.readlines()
        for line in fdata:
            name = line.strip()
            #print name
            if catalogRecs.has_key(name):
                i+=1
        print savedrecfilename + " cited " + str(i) + " sources."
        ## veya sadece sayi outputlamak istersen
        print str(i)

对我来说,这里有一个问题:
savedrecfilenames=glob.glob(os.path.join(文件夹,“savedrecs(*).txt journals.txt”)

你想干什么


savedrecfilenames=[glob.glob(os.path.join(folder,pattern)]for pattern in[“savedrecs,(*).txt,journals.txt”]
可以完成这项工作

如果你希望
“savedrecs(*).txt journals.txt”
匹配任何内容,你必须有一些非常奇怪的文件名。savedrecs(1).txt journals.txt等是文件名您是否有一个名为
savedrecs(1).txt journals.txt
(第一个.txt后面有5个空格)的文件?因为这就是你的模式所匹配的。如果您有单独的文件,如
journals.txt
,则需要不同的模式。