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中lambda函数 list comprehension 和 zip函数使用指南
Sep 28 Python
python抓取网页中图片并保存到本地
Dec 01 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
python实现堆和索引堆的代码示例
Mar 19 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
Python从入门到精通之环境搭建教程图解
Sep 26 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
Feb 26 Python
关于python 的legend图例,参数使用说明
Apr 17 Python
如何理解python面向对象编程
Jun 01 Python
用Python监控你的朋友都在浏览哪些网站?
May 27 Python
关于python中模块和重载的问题
Nov 02 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
Python学习笔记之os模块使用总结
2014/11/03 Python
Python实现的ini文件操作类分享
2014/11/20 Python
python实现学生管理系统
2018/01/11 Python
python实现矩阵打印
2019/03/02 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
利用python绘制正态分布曲线
2021/01/04 Python
python自动生成证件号的方法示例
2021/01/14 Python
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
舞蹈比赛获奖感言
2014/02/04 职场文书
法务专员岗位职责
2015/02/14 职场文书
物业接待员岗位职责
2015/04/15 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python
Go语言空白表示符_的实例用法
2021/07/04 Golang
详细了解MVC+proxy
2021/07/09 Java/Android