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开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
零基础学Python(一)Python环境安装
Aug 20 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
Python多维/嵌套字典数据无限遍历的实现
Nov 04 Python
python编程嵌套函数实例代码
Feb 11 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
Python判断对象是否相等及eq函数的讲解
Feb 25 Python
python设计tcp数据包协议类的例子
Jul 23 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
忆童年!用Python实现愤怒的小鸟游戏
Jun 07 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
2013/09/23 PHP
CI框架中zip类应用示例
2014/06/17 PHP
php解析json数据实例
2014/08/19 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
python实现音乐下载器
2018/04/15 Python
python实现log日志的示例代码
2018/04/28 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
大专自我鉴定范文
2013/10/23 职场文书
小学中队活动总结
2015/05/11 职场文书
苹果可能正在打击不进行更新的 App
2022/04/24 数码科技