以前遍历某个目录下的所有文件的时候一般通过递归跟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