Python模块glob函数示例详解教程
作者:数据分析与统计学之美 时间:2023-10-27 15:49:36
本文大纲
glob
模块也是Python标准库中一个重要的模块,主要用来查找符合特定规则的目录和文件,并将搜索的到的结果返回到一个列表中。使用这个模块最主要的原因就是,该模块支持几个特殊的正则通配符,用起来贼方便,这个将会在下方为大家进行详细讲解。
支持4个常用的通配符
使用glob模块能够快速查找我们想要的目录和文件,就是由于它支持*
、**
、?
、[ ]
这三个通配符,那么它们到底是 什么意思呢?
*
:匹配0个或多个字符;
**
:匹配所有文件、目录、子目录和子目录里的文件(3.5版本新增);
?
:代匹配一个字符;
[]
:匹配指定范围内的字符,如[0-9]匹配数字,[a-z]匹配小写字母;
注意:这3个通配符的用法,将在讲函数的时候,一起带大家操作一遍; glob库中主要的3个函数
其实glob库很简单,只有3个主要函数供我们使用,它们分别是glob()
、iglob()
、escape()
函数,因此学习起来特别容易。
glob.glob()
:返回符合匹配条件的所有文件的路径;
glob.iglob()
:返回一个迭代器对象,需要循环遍历获取每个元素,得到的也是符合匹配条件的所有文件的路径;
glob.escape()
:escape可以忽略所有的特殊字符,就是星号、问号、中括号,用处不大;
recursive=False
:代表递归调用,与特殊通配符“**”
一同使用,默认为False,False表示不递归调用,True表示递归调用;
1)glob()函数
path1 = r"C:\Users\黄伟\Desktop\publish\os模块\test_shutil_a\[0-9].png"
glob.glob(path1)
path2 = r"C:\Users\黄伟\Desktop\publish\os模块\test_shutil_a\[0-9a-z].*"
glob.glob(path2)
结果如下:
2)iglob()函数
path1 = r"C:\Users\黄伟\Desktop\publish\os模块\test_shutil_a\[0-9].png"
a = glob.iglob(path1)
for i in a:
print(i)
结果如下:
3)escape()函数
通过下方两行代码的对比,可以看出escape()函数只是让*
只表示它本来的意思,而不再具有通配符的作用。
glob.glob('t*')
glob.escape('t*')
结果如下:
来源:https://huang-tong-xue.blog.csdn.net/article/details/108069945
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python语音信号处理详细教程
![](https://img.aspxhome.com/file/2023/1/127881_0s.png)
python中lambda与def用法对比实例分析
django框架CSRF防护原理与用法分析
![](https://img.aspxhome.com/file/2023/0/83920_0s.png)
.net 上传文件前所未有的简单
详解Python GUI工具取色器
![](https://img.aspxhome.com/file/2023/4/87764_0s.gif)
Python理解递归的方法总结
mysql中如何查看表空间
![](https://img.aspxhome.com/file/2023/2/112312_0s.png)
关于jieba.cut与jieba.lcut的区别及说明
用OpenCV将视频分解成单帧图片,图片合成视频示例
mysql5.7及mysql 8.0版本修改root密码的方法小结
自学MySql内置函数知识点总结
读写xml文件的2个小函数
Python3获取cookie常用三种方案
详解Python类和对象内容
![](https://img.aspxhome.com/file/2023/5/83705_0s.jpg)
Python 异常处理实例详解
python实现通过队列完成进程间的多任务功能示例
![](https://img.aspxhome.com/file/2023/9/95589_0s.png)
公用样式模板的设计制作
![](https://img.aspxhome.com/file/UploadPic/20099/13/sys1-12s.jpg)
JS实现简洁、全兼容的拖动层实例
Python模块/包/库安装的六种方法及区别
![](https://img.aspxhome.com/file/2023/4/72964_0s.png)