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 13 Python
Python 基础教程之str和repr的详解
Aug 20 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
对pyqt5之menu和action的使用详解
Jun 20 Python
使用python 写一个静态服务(实战)
Jun 28 Python
python实现大文本文件分割
Jul 22 Python
Python try except异常捕获机制原理解析
Apr 18 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
浅谈keras保存模型中的save()和save_weights()区别
May 21 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
python实现磁盘日志清理的示例
Nov 05 Python
python中翻译功能translate模块实现方法
Dec 17 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
星际争霸任务指南——神族
2020/03/04 星际争霸
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
js运动事件函数详解
2016/10/21 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
Python 不同对象比较大小示例探讨
2014/08/21 Python
Python的类实例属性访问规则探讨
2015/01/30 Python
python正则表达式match和search用法实例
2015/03/26 Python
python实现的守护进程(Daemon)用法实例
2015/06/02 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
python实现图片横向和纵向拼接
2020/03/05 Python
详解python中的闭包
2020/09/07 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
入党积极分子思想汇报范文
2014/01/05 职场文书
酒店拾金不昧表扬信
2014/01/18 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
整改报告格式
2014/11/06 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
大国崛起英国观后感
2015/06/02 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers