问题:当工作在UNIX Shell下时,我们想使用常见的通配符模式(即,py, Dat[0-9].csv)来做文本匹配
1、使用fnmatch()匹配
import fnmatch
fnmatch.fnmatch('foo.txt', '*.txt')
Out[3]: True
fnmatch()的匹配模式所采用的大小写区分规则和底层文件系统相同(根据操作系统的不同而有所不同)
print(fnmatch.fnmatch('foo.txt', '*.TXT'))
# ON MAC False; on wondows True
2、可以使用fnmatchcase()来避免上述问题,它完全根据我们提供的大小写方式来匹配
print(fnmatch.fnmatchcase('foo.txt', '*.TXT'))
# ON MAC False; on wondows False
总结:
一般不会用到这个方案做文本匹配,复杂的匹配工作都可以使用正则表达式来完成。