在python之中要对文件进行处理 , 首先就需要获得这个文件的路径以及文件名称 。而在不知道文件名只知道文件后缀或者某些字符的情况下 , 就可以通过fnmatch这个模块来匹配文件名 , 以下这篇文章就会来讲解一下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如何找到指定结尾的文件”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- python中requests库模拟登录有哪些方式?requests模拟登录的三种方式
- Python的flask中常用函数有哪些?flask中的函数route如何使用?
- Python导入模块时遇到错误怎么办?Python导入模块时遇到的错误分析
- 滴水观音怎么养殖?滴水观音花卉养殖百科
- python按照list中字典的某key去重 python去重方法的实例代码
- 蝴蝶兰花卉百科:家庭室内养殖蝴蝶兰怎么养?
- 如何使用python中的可变参数?python中可变参数的使用方法
- Python如何实现变量交换?python实现变量交换的机制是什么?
- 什么是python的伪私有属性?python的伪私有属性是什么?
- Python中tempfile模块有什么用?如何使用tempfile模块