Python 匹配时,代码产生的结果不充分
这是我的代码,我用它来匹配savedrecs文件中的引用和网站目录中的引用。结果的数字太小,所以我认为代码有问题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
#!/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
,则需要不同的模式。