Python使用:模块实现文件名匹配

  

Python使用:模块实现文件名匹配?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

:模块主要用于文件名称的匹配,其能力比简单的字符串匹配更强大,但比使用正则表达式相比稍弱,如果在数据处理操作中,只需要使用简单的通配符就能完成文件名的匹配,则使用:模块是不错的选择。

:模块中,常用的函数及其功能如表1所示。

Python:模块常用函数及功能

函数名功能:。过滤器(名称、模式)对名字列表进行过滤,返回名字列表中匹配模式的文件名组成的子集合.fnmatch。文件名:文件名,模式)判断文件名,是否和指定模式字符串匹配:。fnmatchcase(文件名,模式)和:()函数功能大致相同,只是该函数区分大小写.fnmatch.translate(模式)将一个UNIX shell风格的模式字符串,转换为正则表达式

:模块匹配文件名的模式使用的就是UNIX shell风格,其支持使用如下几个通配符:

    <李> *:可匹配任意个任意字符。 <李> ?:可匹配一个任意字符。 <李>[字符序列):可匹配中括号里字符序列中的任意字符。该字符序列也支持中画线表示法。比如[a - c]可代表a, b和c字符中任意一个。 <李> [!字符序列]:可匹配不在中括号里字符序列中的任意字符。

例如,下面程序演示表1中一些函数的用法及功能:

进口:
  #过滤器()
  print (fnmatch.filter ([& # 39; dlsf& # 39; & # 39; ewro.txt& # 39;, & # 39; te.py& # 39;, & # 39; youe.py& # 39;], & # 39; * . txt # 39;))
  #:()
  文件的[& # 39;word.doc& # 39; & # 39; index.py& # 39;, & # 39; my_file.txt& # 39;):
  如果fnmatch.fnmatch(文件,& # 39;* . txt # 39;):
  打印(文件)
  # fnmatchcase ()
  打印([addr addr的[& # 39;word.doc& # 39; & # 39; index.py& # 39;, & # 39; my_file.txt& # 39;, & # 39; a.TXT& # 39;]:。fnmatchcase (addr, & # 39; * . txt # 39;)])
  #翻译()
  print (fnmatch.translate (& # 39; * b.txt& # 39;)) 

程序执行结果为:

[& # 39; ewro.txt& # 39;]
my_file.txt
[& # 39; my_file.txt& # 39;]
(和# 63;销售:a。* b \ . txt) \ Z

关于Python使用:模块实现文件名匹配问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

Python使用:模块实现文件名匹配