我正在尝试在给定路径中找到文件*tech.so
,如下所示,但fnmatch.fnmatch(name, pattern)
某种方式失败了,有人可以建议如何解决这个问题吗?
import os, fnmatch
path = "\\\\location1\\build1\\obj\\vendor\\qcom\\opensource\\tech"
def find(pattern, path):
result = []
for root, dirs, files in os.walk(path):
for name in files:
#print name
if fnmatch.fnmatch(name, pattern):
result.append(os.path.join(root, name))
return result
result = find('*.tech.so', path)
print result//prints empty string
答案 0 :(得分:1)
您的匹配模式为*.tech.so
,但您要查找的名称为caq_cdl3_tech.so
fnmatch模式与正则表达式相同,因此.
仅匹配文字.
,而不是任何单个字符'就像在正则表达式中一样。
使用*tech.so
或*_tech.so
作为模式应该有效。