python使用glob检索文件的操作


Posted in Python onMay 20, 2021

一、检索当前目录下所有文件、文件夹

from glob import glob
glob('./*')
Output: ['./0a.wav', './aaa', './1b.wav', './1a.wav', './0b.wav'] #返回一个list

二、检索当前目录下指定后缀名文件

假设我们需要获取当前文件夹下所有后缀名为".wav"的文件,

from glob import glob
glob('./*.wav')
Output: ['./0a.wav', './1b.wav', './1a.wav', './0b.wav'] #返回一个包含".wav"文件路径的list

二、检索当前目录下包含指定字符文件

假设我们需要获得所有包含"a"字符的".wav"文件,

from glob import glob
glob('./*a*.wav')
Output: ['./0a.wav', './1a.wav'] #返回一个包含".wav"文件路径的list

补充:Python 中的glob模块使用笔记(用它来遍历文件夹、文件真的很方便)

glob模块简介

glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作。

glob中支持的通配符有三种:

‘*' 匹配0个或多个字符
‘?' 仅匹配一个字符
‘[]' 匹配指定范围内的字符,如[0-9]匹配数字

用图片中的文件夹作为例子进行演示

python使用glob检索文件的操作

一、glob.glob的使用:

该方法返回所有匹配的文件路径列表。

该方法需要一个参数用来指定要匹配的文件路径(字符串类型)绝对路径、相对路径。

1.匹配某指定路径下后缀为.exe的文件(绝对路径)

In:
from glob import glob

file = glob(r'D:\masm\*.EXE')
print(type(file))
print(file)

Out:
<class 'list'>
['D:\\masm\\CREF.EXE', 'D:\\masm\\debug.exe',
 'D:\\masm\\DEBUG32.EXE', 'D:\\masm\\ERROUT.EXE',
  'D:\\masm\\EXEMOD.EXE', 'D:\\masm\\EXEPACK.EXE',
   'D:\\masm\\LIB.EXE', 'D:\\masm\\LINK.EXE',
    'D:\\masm\\MASM.EXE', 'D:\\masm\\SETENV.EXE',
     'D:\\masm\\TEST2.EXE', 'D:\\masm\\TEST3.EXE',
      'D:\\masm\\TEST4.EXE', 'D:\\masm\\TEST5.EXE',
       'D:\\masm\\TEST6.EXE']

2.匹配某指定路径下的所有文件(绝对路径)

In:
from glob import glob

file = glob(r'D:\masm\*\*')
print(type(file))
print(file)

Out:
<class 'list'>
['D:\\masm\\work\\hello.asm', 'D:\\masm\\work\\HELLO.OBJ',
 'D:\\masm\\work\\test1.asm', 'D:\\masm\\work\\TEST1.OBJ',
  'D:\\masm\\work\\test2.asm', 'D:\\masm\\work\\TEST2.OBJ', 
  'D:\\masm\\work\\test3.asm', 'D:\\masm\\work\\TEST3.OBJ',
   'D:\\masm\\work\\test4.asm', 'D:\\masm\\work\\TEST4.OBJ', 
   'D:\\masm\\work\\two']

3.使用相对路径来进行匹配

'.' 指代当前目录

'. . ' 指代当前目录的上一级目录

In:
from glob import glob

file = glob(r'..\*')
print(type(file))
print(file)

Out:
<class 'list'>
['..\\12306', '..\\Auto connection school network', '..\\cache', 
'..\\class', '..\\exercise_1.py', '..\\exercise_2-2.py', 
'..\\exercise_2-3.py', '..\\exercise_2.py', '..\\regular',
 '..\\taobao', '..\\test.py', '..\\testglob', '..\\UDPClient']

python使用glob检索文件的操作

二、glob.iglob的使用

获取一个生成器( generator)对象,使用它可以逐个获取匹配的文件路径名。与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而 glob.iglob一次只获取一个匹配路径。

In:
from glob import iglob

file = iglob(r'..\*.py')
print(type(file))
print(file)

n=0
for i in file:
    n=n+1
    print(str(n),i)
Out:
<class 'generator'>
<generator object _iglob at 0x000001AEBE4D3B10>
1 ..\exercise_1.py
2 ..\exercise_2-2.py
3 ..\exercise_2-3.py
4 ..\exercise_2.py
5 ..\test.py

通过示例中的for循环可以看到,生成器对象会依次给出要匹配路径下的文件。

Python 相关文章推荐
使用Python抓取模板之家的CSS模板
Mar 16 Python
Python发送email的3种方法
Apr 28 Python
Python实现的排列组合计算操作示例
Oct 13 Python
python实现报表自动化详解
Nov 16 Python
Python编程pygal绘图实例之XY线
Dec 09 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
Dec 19 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
Python简单实现词云图代码及步骤解析
Jun 04 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
PHP5中新增stdClass 内部保留类
2011/06/13 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
php获取开始与结束日期之间所有日期的方法
2016/11/29 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
ztree实现权限横向显示功能
2017/05/20 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
关于反爬虫的一些简单总结
2017/12/13 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
Python 中的lambda函数介绍
2018/10/10 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
详解python 爬取12306验证码
2019/05/10 Python
python、Matlab求定积分的实现
2019/11/20 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
计算机毕业大学生求职信
2014/06/26 职场文书
英文升职感谢信
2015/01/23 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技