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的pandas框架操作Excel文件中的数据教程
Mar 31 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
Python3.5常见内置方法参数用法实例详解
Apr 29 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
详解python和matlab的优势与区别
Jun 28 Python
python 中的paramiko模块简介及安装过程
Feb 29 Python
python中wx模块的具体使用方法
May 15 Python
python opencv通过按键采集图片源码
python 如何执行控制台命令与操作剪切板
教你怎么用Python生成九宫格照片
用 Python 元类的特性实现 ORM 框架
May 19 #Python
浅谈Python 中的复数问题
May 19 #Python
Python机器学习之基础概述
Python机器学习之PCA降维算法详解
You might like
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php函数指定默认值方法的小例子
2013/12/04 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
Prototype Date对象 学习
2009/07/12 Javascript
jquery获取input的value问题说明
2010/08/19 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
2020/09/02 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[03:48]2014DOTA2 TI专访71DK夺冠不靠小组赛高排名
2014/07/11 DOTA
Python BS4库的安装与使用详解
2018/08/08 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
德国高性价比网上药店:medpex
2017/07/09 全球购物
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
企业年会主持词
2014/03/27 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
党员转正意见怎么写
2015/06/03 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python
java项目构建Gradle的使用教程
2022/03/24 Java/Android