glob模块是python的一个很基础、很简单的模块,用于匹配文件路径。
glob这个单词本身有“通配符”的意思,通配的一个很关键的应用就是筛选出符合条件的文件。
与python的另一个专门用于正则匹配的 re模块 不同,glob只需要三个通配符:*
、?
、[]
。
以下是常见的匹配情形:
glob.glob('/a/b/*.txt')
: 匹配目录/a/b/
下的所有.txt文件glob.glob('/a/b/^[xyz]*.txt')
: 匹配目录/a/b/
下所有文件名以字母xyz中任意一个开始的文件glob.glob('/a/*/*.txt')
: 匹配目录/a/
下所有的.txt文件
此外,glob.glob()
是一次查询完所有结果。在查询结果较多时,可以使用 glob.iglob()
迭代查询,glob.iglob()
返回一个生成器。