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 相关文章推荐
Python2.x版本中基本的中文编码问题解决
Oct 12 Python
Python使用正则表达式抓取网页图片的方法示例
Apr 21 Python
Python中遍历列表的方法总结
Jun 27 Python
python argparser的具体使用
Nov 10 Python
Python的几种主动结束程序方式
Nov 22 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Django 再谈一谈json序列化
Mar 16 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
Python中logger日志模块详解
Aug 04 Python
python 多线程共享全局变量的优劣
Sep 24 Python
python进行二次方程式计算的实例讲解
Dec 06 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
php增删改查示例自己写的demo
2013/09/04 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
js function定义函数使用心得
2010/04/15 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
js实现登录与注册界面
2017/11/01 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
python实现文本文件合并
2015/12/29 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
浅析Python数据处理
2018/05/02 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
2013/01/02 HTML / CSS
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
安全资金保障制度
2014/01/23 职场文书
教师专业自荐信
2014/05/31 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
python 实现两个变量值进行交换的n种操作
2021/06/02 Python