python glob模块

Python的glob模块用于通过通配符匹配文件。主要介绍glob函数,参数包括pathname(指定路径和文件名)和recursive(是否递归查找子文件夹)。示例展示了如何使用*和**通配符在VCTK音频文件夹中查找所有.wav文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       python中的glob模块主要是用于寻找文件,在寻找文件的时候,可以采用通配符来匹配多个文件。glob模块中有三个函数:glob,iglob和escape。最常用的就是glob函数,这里我们也只介绍这一个函数。


函数参数

glob(pathname, recursive=False)

  1. pathname:参数表示路径以及文件名
  2. recursive:表示是否需要递归查找每一个子文件夹

通配符
符号功能
*匹配0或者多个字符
匹配单个字符
[exp]匹配范围内字符,[0-9]匹配数字
[!exp]匹配范围外字符
**匹配文件夹里所有文件,包括子文件夹,需要与recursive = True一起使用

举例
示例1:
from glob import glob
x = glob(r"C:\Users\Mr.Reliable\Desktop\*.txt")#匹配桌面所有txt文件
print(type(x))  ##list
print(len(x))  ## 2
print(x)   #['优快云.txt', 'metadata.txt']
示例2:

       我们使用VCTK文件夹来举例,这是一个储存音频文件的文件夹,文件夹内部包括三个文件:COPYING,README,speaker-info.txt;两个文件夹:txt和wav48。其中wav48文件夹内部包括了108个说话人文件夹,每个说话人文件夹里面才是音频文件,文件以.wav格式结尾。我们现在要匹配所有音频文件。假设我们现在就在VCTK文件夹中。

from glob import glob
x = glob("**/*.wav",recursive = True)
print(len(x))  #44085
y = glob("*/*/*.wav",recursive = False)
print(len(y)) #44085

       可以发现两次匹配的结果是一样的,一般如果为了搜索某个文件夹,我们采用**通配符,如果是为了找到一个文件夹下的文件,我们还是采用*通配符,不断进入目录稳妥一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值