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实现对PPT文件进行截图操作的方法
Apr 28 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
Jan 24 Python
python中实现字符串翻转的方法
Jul 11 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
python使用SQLAlchemy操作MySQL
Jan 02 Python
Python对称的二叉树多种思路实现方法
Feb 28 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
May 13 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 Python
python遍历路径破解表单的示例
Nov 21 Python
python 如何用map()函数创建多线程任务
Apr 07 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
php中smarty区域循环的方法
2015/06/11 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
解决element ui select下拉框不回显数据问题的解决
2019/02/20 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
python实现倒计时小工具
2019/07/29 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
软件缺陷的分类都有哪些
2014/08/22 面试题
高中自我鉴定范文
2013/11/03 职场文书
就业自荐信
2013/12/04 职场文书
大学生学习党课思想汇报
2014/01/03 职场文书
运动会邀请函范文
2014/01/31 职场文书
项目合作意向书范本
2014/04/01 职场文书
大型会议策划方案
2014/05/17 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书