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 相关文章推荐
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
Python管理Windows服务小脚本
Mar 12 Python
python用fsolve、leastsq对非线性方程组求解
Dec 15 Python
深入理解Django-Signals信号量
Feb 19 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
django框架forms组件用法实例详解
Dec 10 Python
python使用协程实现并发操作的方法详解
Dec 27 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
python绘图模块之利用turtle画图
Feb 12 Python
Python读写Excel表格的方法
Mar 02 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
PHP模板引擎SMARTY
2006/10/09 PHP
PHP闭包函数详解
2016/02/13 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
详解vue中组件参数
2018/07/09 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
windows下ipython的安装与使用详解
2016/10/20 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
Python面向对象程序设计示例小结
2019/01/30 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python实现双色球随机选号
2020/01/01 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
建筑工程技术应届生自荐信
2013/09/27 职场文书
大学生自荐信
2013/12/11 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书