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文本相似性计算之编辑距离详解
Nov 28 Python
利用python微信库itchat实现微信自动回复功能
May 18 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
详解TensorFlow查看ckpt中变量的几种方法
Jun 19 Python
python使用pandas处理大数据节省内存技巧(推荐)
May 05 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
python pandas时序处理相关功能详解
Jul 03 Python
Django Rest framework三种分页方式详解
Jul 26 Python
django框架面向对象ORM模型继承用法实例分析
Jul 29 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
Python socket处理client连接过程解析
Mar 18 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
2014/08/15 Javascript
jQuery中clearQueue()方法用法实例
2014/12/29 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
Python调用C# Com dll组件实战教程
2017/10/12 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
Python OS模块实例详解
2019/04/15 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
在C#中如何实现多态
2014/07/02 面试题
银行实习生自我鉴定范文
2013/09/19 职场文书
幼儿园春游活动方案
2014/01/19 职场文书
小学生手册家长评语
2014/04/16 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
警告通知
2015/04/25 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电