Python的fnmatch模块用法笔记

Python的fnmatch模块用法笔记


发布日期: 1970-01-01 更新日期: 2016-12-09 编辑:xuzhiping 浏览次数: 9490

标签:

摘要: 今天又用到fnmatch模块,一直记不清楚它的用法,所以在这里记录一下,以后备查。 Python 的fnmatch说明: fnmatch 实现shell patterns表匹配字符串或文件名 1, fnmatch.fnmatch(name, pattern)方...

今天又用到fnmatch模块,一直记不清楚它的用法,所以在这里记录一下,以后备查。 Python 的fnmatch说明: fnmatch 实现shell patterns表匹配字符串或文件名 1, fnmatch.fnmatch(name, pattern)方法:测试name是否匹配pattern,返回true/false eg:

>>> fnmatch.fnmatch('_py','_.py') 
>>> False
>>> fnmatch.fnmatch('tlie.py','*.py')
>>> True

注意:匹配样式是unix shell风格的.其中*表示匹配任何单个或多个字符.?表示匹配单个字符;[seq] 匹配单个seq中的字符;[!seq]匹配单个不是seq中的字符.与此相同功能的还有fnmatch.fnmatchcase(name, pat),用法基本相似; 2.fnmatch.filter(names, pat)实现列表特殊字符的过滤或筛选,返回符合匹配模式的字符列表,当然names表示的是列表; eg:

names = ['dlsf', 'ewro.txt', 'te.py', 'youe.py']

匹配以.py结尾的字符

>>> fnmatch.filter(names, '*.py')
>>> ['te.py', 'youe.py']
>>> fnmatch.filter(names, '[de]')
>>> []

匹配以d或e开头的字符

fnmatch.filter(names, '[de]*') ['dlsf', 'ewro.txt']

当然还有其它的方法(像将shell 风格的匹配模式转换成规则的模式等等),暂时没有用到,在此就不多做说明。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org