23. glob
glob 是 python 自带的用来处理文件路径相关操作的模块,它可以找出所有和特定模式匹配的文件路径名(pathname)。
23.1. 通配符
glob 只有3个通配符:
*
匹配所有字符?
匹配单个字符[]
匹配指定范围的字符,如 [0-9], [a-z], [0-3, a-c]
23.2. glob.glob
glob.glob(pathname, *, recursive=False)
返回匹配文件名的一个列表, pathname
可以是绝对路径也可以是相对路径。
当 recursive=True
,通配符 **
可以匹配任意文件、目录、子目录、符号链接目录等。
1>>> import glob
2>>> glob.glob('./[0-9].*')
3['./1.gif', './2.txt']
4>>> glob.glob('*.gif')
5['1.gif', 'card.gif']
6>>> glob.glob('?.gif')
7['1.gif']
8>>> glob.glob('**/*.txt', recursive=True)
9['2.txt', 'sub/3.txt']
10>>> glob.glob('./**/', recursive=True)
11['./', './sub/']
23.3. glob.iglob
glob.iglob(pathname, *, recursive=False)
返回匹配文件名的一个生成器(generator)fg,当匹配结果较多时,可以节约内存。 访问方法:
next(fg)
fg.__next__() ## Python3
fg.next() ## Python2
23.4. 参考资料
python的glob模块
glob — Unix style pathname pattern expansion