Python的glob模块

  • 一、glob简介
    • 1.glob的用途
    • 2.glob中常用通配符
  • 二、glob模块的用法
    • 1.glob模块中的主要方法
    • 2.方法参数说明
    • 3.glob()和iglob()区别
  • 三、示例
    • 1.创建示例文件夹
    • 2.示例程序
  • 四、示例所有源码

一、glob简介

1.glob的用途

 glob是文件名模式匹配模块,用于根据条件获取指定目录下的文件列表,类似于文件搜索。

2.glob中常用通配符

 ①通配符’*’:零个或多个字符匹配文件名;
 ②通配符’?’:单个字符匹配文件名;
 ③通配符’[]’:匹配指定范围内的文件名,如: [1-9]匹配1至9内的字符;
 ④通配符’[!]’:匹配不在指定范围内的文件名;
 ⑤通配符’**’:匹配指定路径下的所有子目录和当前目录里的文件名;
 注:
 a.①~④都是在当前目录下匹配;
 b.⑤是在当前目录以及子目录里匹配,相当于文件夹递归查找;
 c.⑤在使用时必须将函数参数recursive设置为True,否则无效;
 d.⑤是python3.5新加的功能;

二、glob模块的用法

1.glob模块中的主要方法

 glob模块中主要有glob(pathname, recursive=False)和iglob(pathname, recursive=False)两个方法,两个方法的参数相同。

2.方法参数说明

 pathname:匹配字符串,该参数最好加上r前缀,以免发生不必要的错误 ;
 recursive:递归调用,默认是False,用通配符’**'时,必须是True;

3.glob()和iglob()区别

 glob()返回所有匹配的文件名列表,iglob(iterator)是获取一个迭代器对象,使用时逐个获取匹配文件名。

三、示例

1.创建示例文件夹

 globMain
 ——globMain1.txt
 ——globMain2.txt
 …
 ——globMain3.txt
 ——glob1
 ————glob1.txt
 ————glob2.txt
 …
 ————glob9.txt
 ——glob2
 ————glob1.txt
 ————glob2.txt
 …
 ————glob9.txt

2.示例程序

1.用通配符’*‘获取指定目录(不包含子目录)下的所有’.txt’文件

fileLs=glob.glob(r'globMain/*.txt')
print(u"eg1:获取指定目录(不包含子目录)下的所有'.txt'文件")
for file in fileLs:print(file)


2.#用通配符’**’,获取指定目录(包含子目录)下的所有’.txt’文件,recursive必须True

fileLs=glob.glob('globMain/**/*.txt',recursive=True)
print(os.linesep,u"eg2:获取指定目录(包含子目录)下的所有'.txt'文件")
for file in fileLs:print(file)


3.用通配符’*'代替子目录名

fileLs=glob.glob('globMain/*/*.txt')
print(os.linesep,u"eg3:用通配符'*'代替子目录名")
for file in fileLs:print(file)


4.#用通配符’?'提取globMain下的globMain?.txt

fileLs=glob.glob('globMain/globMain?.txt')
print(os.linesep,u"eg4:通配符'?'提取globMain下的globMain?.txt")
for file in fileLs:print(file)


5.用通配符’[]’,选取文件名globMain[5-9].txt

fileLs=glob.glob('globMain/globMain[5-9].txt')
print(os.linesep,u"eg5:用通配符'[]',选取文件名globMain[5-9].txt")
for file in fileLs:print(file)


6.#用通配符’[!]’,选取文件名globMain[!5-9].txt

fileLs=glob.glob('globMain/globMain[!5-9].txt')
print(os.linesep,u"eg6:用通配符'[!]',选取文件名globMain[!5-9].txt")
for file in fileLs:print(file)


7.iglob()用迭代器逐个获取文件

files=glob.iglob('globMain/*.txt')
print(os.linesep,u"eg7:iglob()用迭代器逐个获取文件")
for file in files:print(file)

四、示例所有源码

  # encoding:utf-8import globimport os'''1.通配符'*':零个或多个字符匹配2.通配符'?':单个字符匹配3.通配符'[]':范围通配符,获取一定范围的文件列表4.通配符'[!]':在3的基础上取非,即获取不在这个范围的文件列表5.通配符'**':匹配指定路径下的所有子目录和当前目录里的文件名;'''#用通配符'*'获取指定目录(不包含子目录)下的所有'.txt'文件fileLs=glob.glob(r'globMain/*.txt')print(u"eg1:获取指定目录(不包含子目录)下的所有'.txt'文件")for file in fileLs:print(file)#用通配符'**',获取指定目录(包含子目录)下的所有'.txt'文件,recursive必须TruefileLs=glob.glob('globMain/**/*.txt',recursive=True)print(os.linesep,u"eg2:获取指定目录(包含子目录)下的所有'.txt'文件")for file in fileLs:print(file)#用通配符'*'代替子目录名fileLs=glob.glob('globMain/*/*.txt')print(os.linesep,u"eg3:用通配符'*'代替子目录名")for file in fileLs:print(file)#用通配符'?'提取globMain下的globMain?.txtfileLs=glob.glob('globMain/globMain?.txt')print(os.linesep,u"eg4:通配符'?'提取globMain下的globMain?.txt")for file in fileLs:print(file)#用通配符'[]',选取文件名globMain[5-9].txtfileLs=glob.glob('globMain/globMain[5-9].txt')print(os.linesep,u"eg5:用通配符'[]',选取文件名globMain[5-9].txt")for file in fileLs:print(file)#用通配符'[!]',选取文件名globMain[!5-9].txtfileLs=glob.glob('globMain/globMain[!5-9].txt')print(os.linesep,u"eg6:用通配符'[!]',选取文件名globMain[!5-9].txt")for file in fileLs:print(file)#iglob()用迭代器逐个获取文件files=glob.iglob('globMain/*.txt')print(os.linesep,u"eg7:iglob()用迭代器逐个获取文件")for file in files:print(file)

Python的glob模块相关推荐

  1. Python之glob模块进行文件匹配及遍历

    Python之glob模块进行文件匹配及遍历 glob是python自带的一个操作文件的相关模块,用来查找符合特定规则的文件路径,是python处理文件路径相关问题中常用的包. glob 文件名模式匹 ...

  2. python的glob模块_python glob模块

    在python中,glob模块是用来查找匹配的文件的    ,在查找的条件中,需要用到Unix shell中的匹配规则: * : 匹配所所有 ? : 匹配一个字符 *.* : 匹配如:[hello.t ...

  3. Python:glob模块

    glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作(*  ?  []),*代表0个或多个字符,?代表一个字符,[]匹 ...

  4. Python 之glob模块

    fnmatch模块是python下的通配符,但是fnmatch只是针对字符串而言,与文件在系统上是否真实存在无关, glob模块是列出符合匹配模式的目录下的文件. >>> impor ...

  5. python: glob模块

    '''在python中,glob模块是用来查找匹配的文件的在查找的条件中,需要用到Unix shell中的匹配规则:* : 匹配所所有? : 匹配一个字符*.* : 匹配如:[hello.txt,ca ...

  6. python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?

    如何在Python中使用glob.glob模块搜索子文件夹? 我想在文件夹中打开一系列子文件夹,找到一些文本文件并打印一些文本文件行. 我用这个: configfiles = glob.glob('C ...

  7. python中glob模块怎么下_如何安装“glob”模块?

    我正在运行ubuntu 14.04并尝试启动ROS模拟器.我有这个错误:ImportError: No module named 'glob' 安装glob2并不能解决这个问题. python -m ...

  8. python中glob模块怎么下_python – 如何安装’glob’模块?

    我正在运行ubuntu 14.04并尝试启动ROS模拟器.我有这个错误: ImportError: No module named 'glob' 安装glob2并不能解决问题. python -m站点 ...

  9. python使用glob模块匹配文件及路径

    案例如下: import glob# 获得当前文件夹下的 py 文件 file_path1 = glob.glob("*.py")# 获得上级目录中的全部 .py 文件 file_ ...

最新文章

  1. 很遗憾,我们正在逐渐丧失专注阅读的能力
  2. JavaScript总结(3)
  3. Android学习——ListView的缓存机制
  4. [html] 如何放大点击的区域?
  5. 高效update方案
  6. 单片机课设中期报告_本科论文中期报告
  7. 简易聊天软件开发(python+socket)
  8. VSCode 中常用的 PHP 编程插件
  9. Sparse Local Patch Transformer for Robust Face Alignment and Landmarks Inherent Relation Learning
  10. 电源芯片选择DC/DC还是LDO?
  11. 07年12月30日------温哥华国际机场
  12. 复位的recovery time和removal time
  13. 如何OIM 11.1.1.5.0打补丁到11.1.1.5.2
  14. uniapp 固定首行和固定列的表格
  15. xp系统打不开excel服务器,xp系统下excel表格链接无法点击的解决方法
  16. 【Python成长之路】破解Boss直聘网站滑块验证
  17. Docker:构造简单容器
  18. IDEA 使用Git图文详解
  19. HTB-Popcorn
  20. 【常见问题汇总--持续更新】Keystone常见问题

热门文章

  1. word 2003 发送错误报告
  2. python仪表盘图片大全_python制作仪表盘图
  3. DOM/伪DOM自定义事件
  4. 日常生活中的人际关系其实是个人内心的反映
  5. Android开发常见问题
  6. 时间字符串转换成自1970年1月1日以来持续时间的秒数
  7. 全国计算机等级考试二级Python语言程序设计模拟试卷D卷综合应用题
  8. 惊恐,还真有大神把地府后台管理系统做出来了,“阎王爷”疯狂点赞!附地址...
  9. 浅析DDOS攻击及防御
  10. java ssl连接(no cipher suites in common)