Python的glob模块
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模块相关推荐
- Python之glob模块进行文件匹配及遍历
Python之glob模块进行文件匹配及遍历 glob是python自带的一个操作文件的相关模块,用来查找符合特定规则的文件路径,是python处理文件路径相关问题中常用的包. glob 文件名模式匹 ...
- python的glob模块_python glob模块
在python中,glob模块是用来查找匹配的文件的 ,在查找的条件中,需要用到Unix shell中的匹配规则: * : 匹配所所有 ? : 匹配一个字符 *.* : 匹配如:[hello.t ...
- Python:glob模块
glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作(* ? []),*代表0个或多个字符,?代表一个字符,[]匹 ...
- Python 之glob模块
fnmatch模块是python下的通配符,但是fnmatch只是针对字符串而言,与文件在系统上是否真实存在无关, glob模块是列出符合匹配模式的目录下的文件. >>> impor ...
- python: glob模块
'''在python中,glob模块是用来查找匹配的文件的在查找的条件中,需要用到Unix shell中的匹配规则:* : 匹配所所有? : 匹配一个字符*.* : 匹配如:[hello.txt,ca ...
- python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?
如何在Python中使用glob.glob模块搜索子文件夹? 我想在文件夹中打开一系列子文件夹,找到一些文本文件并打印一些文本文件行. 我用这个: configfiles = glob.glob('C ...
- python中glob模块怎么下_如何安装“glob”模块?
我正在运行ubuntu 14.04并尝试启动ROS模拟器.我有这个错误:ImportError: No module named 'glob' 安装glob2并不能解决这个问题. python -m ...
- python中glob模块怎么下_python – 如何安装’glob’模块?
我正在运行ubuntu 14.04并尝试启动ROS模拟器.我有这个错误: ImportError: No module named 'glob' 安装glob2并不能解决问题. python -m站点 ...
- python使用glob模块匹配文件及路径
案例如下: import glob# 获得当前文件夹下的 py 文件 file_path1 = glob.glob("*.py")# 获得上级目录中的全部 .py 文件 file_ ...
最新文章
- 很遗憾,我们正在逐渐丧失专注阅读的能力
- JavaScript总结(3)
- Android学习——ListView的缓存机制
- [html] 如何放大点击的区域?
- 高效update方案
- 单片机课设中期报告_本科论文中期报告
- 简易聊天软件开发(python+socket)
- VSCode 中常用的 PHP 编程插件
- Sparse Local Patch Transformer for Robust Face Alignment and Landmarks Inherent Relation Learning
- 电源芯片选择DC/DC还是LDO?
- 07年12月30日------温哥华国际机场
- 复位的recovery time和removal time
- 如何OIM 11.1.1.5.0打补丁到11.1.1.5.2
- uniapp 固定首行和固定列的表格
- xp系统打不开excel服务器,xp系统下excel表格链接无法点击的解决方法
- 【Python成长之路】破解Boss直聘网站滑块验证
- Docker:构造简单容器
- IDEA 使用Git图文详解
- HTB-Popcorn
- 【常见问题汇总--持续更新】Keystone常见问题
热门文章
- word 2003 发送错误报告
- python仪表盘图片大全_python制作仪表盘图
- DOM/伪DOM自定义事件
- 日常生活中的人际关系其实是个人内心的反映
- Android开发常见问题
- 时间字符串转换成自1970年1月1日以来持续时间的秒数
- 全国计算机等级考试二级Python语言程序设计模拟试卷D卷综合应用题
- 惊恐,还真有大神把地府后台管理系统做出来了,“阎王爷”疯狂点赞!附地址...
- 浅析DDOS攻击及防御
- java ssl连接(no cipher suites in common)