找到文件时模式匹配失败

时间:2016-10-27 00:29:23

标签: python

我正在尝试在给定路径中找到文件*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

1 个答案:

答案 0 :(得分:1)

您的匹配模式为*.tech.so,但您要查找的名称为caq_cdl3_tech.so

fnmatch模式与正则表达式相同,因此.仅匹配文字.,而不是任何单个字符'就像在正则表达式中一样。

使用*tech.so*_tech.so作为模式应该有效。