本文大纲

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*')

结果如下:

总结

通过上面的叙述可以知道,glob库其实并没有很多东西,就记住3个通配符3个函数即可。对于我们来说,glob库就是方便我们查找文件而诞生的,因此我们好好掌握glob()这一个函数,其实就够了,其它的知道、会用就行。

我们还需要注意一点,os库shutil库glob库是互补的,我们要善于发挥各自的优势,充分利用它们的优势,帮助我们快速的操作文件和文件夹。

Python模块——glob模块详解相关推荐

  1. python导入模块的变量_python 环境变量和import模块导入方法(详解)

    1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...

  2. python的socket模块_Python socket模块方法实现详解

    这篇文章主要介绍了python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 socket ssh (不带防止粘包的方 ...

  3. python标准类型内建模块_Python内建模块struct实例详解

    本文研究的主要是Python内建模块struct的相关内容,具体如下. Python中变量的类型只有列表.元祖.字典.集合等高级抽象类型,并没有像c中定义了位.字节.整型等底层初级类型.因为Pytho ...

  4. 合法的python变量名import_python 环境变量和import模块导入方法(详解)

    1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 imp ...

  5. python xlrd课程_python中xlrd模块的使用详解

    一.xlrd的安装 打开cmd输入pip install xlrd安装完成即可 二.xlrd模块的使用 下面以这个工作簿为例 1.导入模块 import xlrd 2.打开工作薄 # filename ...

  6. python包mdure_Python hashlib模块实例使用详解

    这篇文章主要介绍了Python hashlib模块实例使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 hashlib模块主要的作用: 加密保 ...

  7. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  8. python中selenium模块驱动谷歌详解

    python中selenium模块驱动谷歌详解 Selenium的介绍.配置和调用 Selenium(浏览器自动化测试框架) 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中 ...

  9. python中xlrd模块的使用详解

    python中xlrd模块的使用详解 两个问题: 什么是xlrd模块? 为什么使用xlrd模块? 1.什么是xlrd模块? python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读 ...

  10. Python模块之pexpect详解

    Python模块之pexpect详解(一) 一.pexpect模块介绍 二.Pexpect的安装 三.pexpect的核心组件 3.1 spawn类 3.1.1 简介 3.1.2 使用流程 3.1.3 ...

最新文章

  1. jsp 实栗 jsp + jdbc 登录
  2. 分布式事务——消息最终一致性方案
  3. 阳台花园不只美丽-东方美琪·安琪:身心健康谋定心灵升华
  4. Divan and bitwise operations 异或,同或,组合数学(1500)
  5. python中if嵌套语句的作用_讲解Python中if语句的嵌套用法
  6. 解决Pycharm文件夹中同级目录导包报错的问题
  7. XEON® Scalable-如何为虚拟化挑选合适的CPU
  8. word正在等候其他应用程序完成OLE操作
  9. button执行onclick函数_可能你的react函数组件从来没有优化过
  10. 01 WIFI ----- SDIO接口驱动
  11. 计算机导论学后感5000字,计算机导论学习心得体会
  12. GEE-Python遥感大数据分析、管理与可视化实践技术应用
  13. home为什么是地点副词_为什么home有副词的词性?
  14. 富文本编辑器 Kindeditor 的使用和 常见错误
  15. 微信号,公众平台账号,开放平台账号的区别
  16. 显卡mx150和230哪个好_显卡mx250相当于gtx系哪个级别的 MX250相比MX150在核
  17. Java网络爬虫--一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库
  18. 19显示文字的区位码
  19. PL/SQL知识点总结
  20. c语言属于高级语言吗,c语言属于高级语言吗

热门文章

  1. Chrome浏览器-vue调试工具dev-tools安装
  2. javase之序列化与反序列化
  3. APP设计规范指南,UI设计师必看!
  4. csv文件一键转txt文件,并封装成可执行.exe文件
  5. 为啥无线随身设备显示无服务器,随身WiFi怎么用_移动wifi怎么用【图文】-太平洋IT百科...
  6. Python-for循环语句
  7. 简单认识React的生命周期
  8. 1102 教超冠军卷(20分) -- 测试点1
  9. 虚拟空间服务器设置,虚拟主机怎样设置域名解析
  10. JDK1.8.0_301安装以及环境配置教程(Windows10系统)