Python每日一练0014

发布时间:2019-06-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Python每日一练0014脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

问题

你想使用 Unix Shell 中常用的通配符(比如 *.py , Dat[0-9]*.csv 等)去匹配文本字符串

解决方案

使用fnmatch模块的fnmatchfnmatchcase函数

>>> import fnmatch
>>> print(fnmatch.fnmatch('hello.py', '*.py'))
True
>>> print(fnmatch.fnmatch('hello.py', 'hell?.py'))
True
>>> print(fnmatch.fnmatchcase('hello.py', '*.py'))
True
>>> print(fnmatch.fnmatchcase('hello.py', 'hell?.py'))
True

其中fnmatchfnmatchcase的区别是

@H_126_75@
  • fnmatch(filename, pattern)对大小写的敏感依赖于系统,意思是在判断匹配之前,会对两个参数调用os.path.normcase(path),然后再进行匹配。关于os.path.normcase(path)见:https://docs.python.org/3/lib...
  • fnmatchcase(filename, pattern)对大小写的敏感不依赖于系统
  • 讨论

    fnmatch支持的通配符如下:

    Pattern Meaning
    * 匹配任意字符串
    ? 匹配任意一个字符
    [seq] 匹配在seq里的任意一个字符
    [!seq] 匹配不在seq里的任意一个字符

    fnmatch() 匹配能力介于简单的字符串方法和强大的正则表达式之间。 如果在数据处理操作中只需要简单的通配符就能完成的时候,这通常是一个比较合理的方案。

    Python CookBook

    关注

    欢迎关注我的微信公众号python每日一练

    Python每日一练0014

    脚本宝典总结

    以上是脚本宝典为你收集整理的Python每日一练0014全部内容,希望文章能够帮你解决Python每日一练0014所遇到的问题。

    如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。