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中定义结构体的方法
Mar 04 Python
理解python多线程(python多线程简明教程)
Jun 09 Python
python获取本机外网ip的方法
Apr 15 Python
简单分析Python中用fork()函数生成的子进程
May 04 Python
基于进程内通讯的python聊天室实现方法
Jun 28 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
动感网页相册 python编写简单文件夹内图片浏览工具
Aug 17 Python
Python3.7实现中控考勤机自动连接
Aug 28 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
keras模型保存为tensorflow的二进制模型方式
May 25 Python
python下对hsv颜色空间进行量化操作
Jun 04 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
用PHP实现文件上传二法
2006/10/09 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
2018/06/05 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
angularjs基础教程
2014/12/25 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
Python中logging模块的用法实例
2014/09/29 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
详解python tkinter模块安装过程
2020/01/06 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
Unix/Linux开发面试题
2016/08/16 面试题
农村婚礼证婚词
2014/01/10 职场文书
男女朋友协议书
2014/04/23 职场文书
村容村貌整治方案
2014/05/21 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
雷锋观后感
2015/06/10 职场文书