Python文件名的匹配之clob库

作者:李元静 时间:2022-11-17 06:59:46 

一、前言

既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配。其实我们有专门的一个文件名匹配库就叫:glob。

不过,glob库的API非常小,但是仅仅应用于文件名的匹配绰绰有余。只要是在实际的项目中需要过滤,或者匹配一组文件,都可以使用该库进行操作。

二、通配符

星号(*)

话不多说,下面我们使用通配符来匹配文件名,示例如下:


import glob

for name in sorted(glob.glob('text/*')):
   print(name)

运行之后,效果如下:

Python文件名的匹配之clob库

这里不仅用*通配符获取了目录下的所有文件,而且还对其进行了排序。

三、问号(?)

问号(?)是用来匹配单字的,比如我们赛选上面1开头的图片文件。示例如下:


import glob

for name in glob.glob('text/1?.png'):
   print(name)

运行之后,效果如下:

Python文件名的匹配之clob库

四、区间匹配([0-9][a-z][A-Z])

从上面两个匹配我们看出来,glob库的匹配规则与正则表达式有些相似。既然它能匹配模糊的,一个或多个字符,那么肯定也可以匹配区间字符。

示例如下:


import glob

for name in glob.glob('text/15[a-z].*'):
   print(name)

运行之后,效果如下:

Python文件名的匹配之clob库

五、转义元字符

当然,上面的文件名都是常规的文件名,都是用字母与数字组成的。但是,有些人比较怪,可能在文件名中包含了特殊的字符,比如上面的匹配字符“?*[”等。那怎么办呢?用反斜杠“\”转义吗?

其实,我们还有更简单的,直接使用escape()函数进行操作。示例如下:


import glob

escape_str='?*[]'
for char in escape_str:
   pattern = 'text/*' + glob.escape(char) + '.png'
   for name in glob.glob(pattern):
       print(name)

运行之后,效果如下:

Python文件名的匹配之clob库

来源: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
  • asp之家 网络编程 m.aspxhome.com