我有一个python应用程序,我在其中定义了一些带扩展的工具。
extList = ["*pdf","*.cod","*log*","*.log.*"]
现在如何根据这些扩展名返回文件。
我使用了endWith()字符串方法来匹配扩展名,但它不会遵循模式。
extList = ["*pdf","*.cod","*log*","*.log.*"]
if os.path.isfile(unicode(path)):
if unicode(path).endswith(tuple(extList)):
print("match")
如何编写regEx以匹配单个RegEx中的以下模式? 请建议RegEx。
如何将RegEx写入匹配文件扩展名模式,如下所示: -
*.pdf
*.pdf*
*.pdf.*
*.pdf*.*
答案 0 :(得分:1)
你想要的是fnmatch
模块而不是glob
:
例如:
import glob
extList = ["*pdf","*.cod","*log*","*.log.*"]
any(fnmatch.fnmatch(path, ext) for ext in extList)
测试:
>>> any(fnmatch.fnmatch(u'test.pdf', ext) for ext in extList)
True
>>> any(fnmatch.fnmatch(u'test.zip', ext) for ext in extList)
False