Python文件名的匹配之clob库
作者:李元静 时间:2022-11-17 06:59:46
一、前言
既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob。
不过,glob库的API非常小,但是仅仅应用于文件名的匹配绰绰有余。只要是在实际的项目中需要过滤,或者匹配一组文件,都可以使用该库进行操作。
二、通配符
星号(*)
话不多说,下面我们使用通配符来匹配文件名,示例如下:
import glob
for name in sorted(glob.glob('text/*')):
print(name)
运行之后,效果如下:
这里不仅用*通配符获取了目录下的所有文件,而且还对其进行了排序。
三、问号(?)
问号(?)是用来匹配单字的,比如我们赛选上面1开头的图片文件。示例如下:
import glob
for name in glob.glob('text/1?.png'):
print(name)
运行之后,效果如下:
四、区间匹配([0-9][a-z][A-Z])
从上面两个匹配我们看出来,glob库的匹配规则与正则表达式有些相似。既然它能匹配模糊的,一个或多个字符,那么肯定也可以匹配区间字符。
示例如下:
import glob
for name in glob.glob('text/15[a-z].*'):
print(name)
运行之后,效果如下:
五、转义元字符
当然,上面的文件名都是常规的文件名,都是用字母与数字组成的。但是,有些人比较怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么办呢?用反斜杠“\”转义吗?
其实,我们还有更简单的,直接使用escape()函数进行操作。示例如下:
import glob
escape_str='?*[]'
for char in escape_str:
pattern = 'text/*' + glob.escape(char) + '.png'
for name in glob.glob(pattern):
print(name)
运行之后,效果如下:
来源:https://liyuanjinglyj.blog.csdn.net/article/details/115970938
标签:Python,lob库,匹配文件名
0
投稿
猜你喜欢
Python字符串的创建和驻留机制详解
2022-07-07 18:49:17
用途相似的标签
2008-05-23 13:11:00
MySQL在命名用过程中所遇到的常见问题
2008-12-05 16:03:00
python读写xml文件实例详解嘛
2023-03-29 13:04:33
关于反爬虫的一些简单总结
2022-09-21 18:38:59
检查并修复mysql数据库表的具体方法
2024-01-24 13:39:43
vue动态禁用控件绑定disable的例子
2024-05-09 15:08:14
mysql存储过程详解
2024-01-25 22:28:15
vue+echarts封装气泡图的方法
2024-05-09 15:09:45
python实现kNN算法识别手写体数字的示例代码
2021-07-14 12:35:03
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2023-02-14 05:37:10
vue+element项目中过滤输入框特殊字符小结
2024-04-28 10:53:44
MySQL新手入门指南--快速参考
2024-01-21 09:58:14
python二维列表一维列表的互相转换实例
2023-07-09 10:27:40
zabbix通过percona插件监控mysql的方法
2024-01-23 04:51:22
Python3中使用PyMongo的方法详解
2023-08-19 16:00:58
JavaScript中利用各种循环进行遍历的方式总结
2024-04-17 10:10:36
QQ登录Banner之清明概念
2009-04-15 11:41:00
MySQL 原理与优化之Limit 查询优化
2024-01-15 04:44:26
python os模块介绍
2021-11-06 20:53:16