Python fnmatch 模块

关键字: python fnmatch shellpatterns 正则表达式
今天看《Programming Python 3nd Edition》时,偶然看到fnmatch模块,于是查看了它的用法记录在此^_^

Python 的fnmatch说明:

 fnmatch 实现shell patterns表匹配字符串或文件名 

1,fnmatch.fnmatch(name, pattern)方法:测试name是否匹配pattern,返回true/false

  eg:
  1. >>>fnmatch.fnmatch('*py','*.py')  
  2. >>>False  
  3.   
  4. >>>fnmatch.fnmatch('tlie.py','*.py')  
  5. >>>True  

注意:匹配样式是unix shell风格的.其中*表示匹配任何单个或多个字符.?表示匹配单个字符;[seq] 匹配单个seq中的字符;[!seq]匹配单个不是seq中的字符.与此相同功能的还有fnmatch.fnmatchcase(name, pat),用法基本相似;

2.fnmatch.filter(names, pat)实现列表特殊字符的过滤或筛选,返回符合匹配模式的字符列表,当然names表示的是列表;

eg:

  1. >>>names = ['dlsf', 'ewro.txt', 'te.py', 'youe.py']  
  2. #匹配以.py结尾的字符  
  3. >>> fnmatch.filter(names, '*.py')  
  4. >>> ['te.py', 'youe.py']  
  5.   
  6. >>> fnmatch.filter(names, '[de]')  
  7. >>> []  
  8. #匹配以d或e开头的字符  
  9. >>>fnmatch.filter(names, '[de]*')  
  10. >>>['dlsf', 'ewro.txt']  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值