python glob通配符使用

版权声明:个人学习笔记 https://blog.csdn.net/qq_31821675/article/details/88531221

以前遍历某个目录下的所有文件的时候一般通过递归跟os.listdir() 来实现,其实有些繁琐,可以通过python自带的 glob模块实现。

from glob import glob

abspath = 'input'

totalList = glob(abspath,'*','*.wav') # abspath 目录下所有文件夹下的wav文件找到

1.介绍
glob模块用来查找文件目录和文件,常见的两个方法有glob.glob()和glob.iglob(),可以和常用的find功能进行类比,glob支持*?[]这三种通配符

2.三种通配符
*代表0个或多个字符
?代表一个字符
[]匹配指定范围内的字符,如[0-9]匹配数字
3.例子
import glob
filelist=glob.glob(r'./*.py')
#返回的数据类型是list,
#>>['./1.py','./2.py']包含'./'
#而*.py返回 “a.py”.

glob.iglob
iglob与glob类似,只是这里返回值为迭代器,对于大量文件时更为省内存

import glob  
f = glob.iglob(r'../*.py') 
print f #<generator object iglob at 0x00B9FF80> 
for py in f: 
    print py  

猜你喜欢

转载自blog.csdn.net/qq_31821675/article/details/88531221