glob 文件名模式匹配,提供了一个函数用于从目录通配符搜索中生成文件列表,不用遍历整个目录判断每个文件是不是符合。
1 通配符
星号(*)匹配零个或多个字符
import glob
for name in glob.glob('./test/*'):
print(name)
运行结果如下:(其中包括了目录下的文件夹)
列出子目录中的文件,必须在模式中包括子目录名:
import glob
# 用子目录查询文件
print('用子目录查询文件:')
for name in glob.glob('test/miracle/*'):
print('\t', name)
# 用通配符* 代替子目录名
print('用通配符 * 代替子目录名:')
for name in glob.glob('test/*/*'):
print('\t', name)
运行结果:
2、单个字符通配符
用问号(?)匹配任何单个的字符。
import glob
for name in glob.glob('./test/apollo_0?.txt'):
print(name)
运行结果:
3、字符范围
当需要匹配一个特定的字符,可以使用一个范围
import glob
for name in glob.glob('test/apollo_0[0-9].*'):
print(name)
运行结果: