python 标准库之 glob 介绍

glob 文件名模式匹配,提供了一个函数用于从目录通配符搜索中生成文件列表,不用遍历整个目录判断每个文件是不是符合。

python 标准库之 glob 介绍

1 通配符

星号 (*) 匹配零个或多个字符

import glob

for name in glob.glob('./test/*'):
    print(name)

运行结果如下:(其中包括了目录下的文件夹)

python 标准库之 glob 介绍

列出子目录中的文件,必须在模式中包括子目录名:

import glob

# 用子目录查询文件
print('用子目录查询文件:')
for name in glob.glob('test/miracle/*'):
    print('\t', name)
	
# 用通配符* 代替子目录名
print('用通配符 * 代替子目录名:')
for name in glob.glob('test/*/*'):
    print('\t', name)

运行结果:

python 标准库之 glob 介绍

2、单个字符通配符

用问号 (?) 匹配任何单个的字符。

import glob

for name in glob.glob('./test/apollo_0?.txt'):
    print(name)

运行结果:

python 标准库之 glob 介绍

3、字符范围

当需要匹配一个特定的字符,可以使用一个范围

import glob

for name in glob.glob('test/apollo_0[0-9].*'):
    print(name)

运行结果:

python 标准库之 glob 介绍