fnmatch.fnmatch() famatch.fnmatchcase() --利用shell通配符做字符串匹配

问题:当工作在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

总结:
一般不会用到这个方案做文本匹配,复杂的匹配工作都可以使用正则表达式来完成。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容