Python怎么匹配文件名?Python如何找到指定结尾的文件

在python之中要对文件进行处理 , 首先就需要获得这个文件的路径以及文件名称 。而在不知道文件名只知道文件后缀或者某些字符的情况下 , 就可以通过fnmatch这个模块来匹配文件名 , 以下这篇文章就会来讲解一下python如何找到指定结尾的文件 。

Python怎么匹配文件名?Python如何找到指定结尾的文件

文章插图
fnmatch模块是以通配符的形式来编写匹配规则的 , 如果有学习过正则表达式的小伙伴对其肯定都不是很陌生 。fnmatch模块主要使用*和?来完成对指定字符的匹配 , 示例如下:
from pathlib import *import fnmatchfor file in Path('.').iterdir():    if fnmatch.fnmatch(file, '*_test.py'):        print(file)在上面的代码示例之中就是导入了fnmatch模块 , 然后通过循环遍历获取到了当前文件路径之中的所有文件以及文件夹 。再调用fnmatch()方法去进行文件名的匹配 , 只有以_test.py作为文件名结尾的文件才能够被打印出来 。
其中*这个符号就是关键了 , 它的意思就是能够匹配任意字符 , 如果将它放在字符后面就意为 , 找到以xx字符作为开头的文件 。而问号和这个符号的区别就在于它只能够匹配单个字符 , 除此之外的语法也是一样的 。
而这个方法还可以用来去对序列进行匹配 , 也就是将一个序列中符合条件的文件给找出来 , 代码示例如下所示:
【Python怎么匹配文件名?Python如何找到指定结尾的文件】names = ['a.py', 'b.py', 'c.py', 'd.py']sub = fnmatch.filter(names, '[ac].py')print(sub)上面代码运行之后的结果就是打印出a.py以及c.py , 在不使用通配符并且中括号内不使用横杠表示一个范围的情况下 , 它的意思就是匹配到名为a.py的文件 。
以上就是关于“Python怎么匹配文件名?Python如何找到指定结尾的文件”的全部内容了 , 希望对你有所帮助 。

    推荐阅读