glob 是 Python 标准库中的一个模块,它提供了一种查找符合特定模式的路径名的方法,类似于命令行中的 glob 命令。glob 模块用于读取指定路径下的所有符合特定规律的文件名,非常适合用于读取文件夹中的文件列表和操作符合特定规律文件列表。
glob 提供了两个函数:glob 和 iglob。glob 函数返回一个列表,包含所有符合特定规律的文件路径名。iglob 函数返回一个生成器对象,可以使用 for 循环逐一获取符合特定规律的文件路径名。
在 glob 模块中可以使用的特殊字符如下:
*:匹配任意个任意字符
?:匹配一个任意字符
[字符集]:匹配字符集中的任意一个字符
[!字符集]:匹配不在字符集中的任意一个字符
以下是 glob 模块的一些示例用法:
import glob
# 查找当前目录下文件名以 .py 结尾的文件
py_files = glob.glob("*.ipynb")
print(py_files)
# 查找包含 'test' 字符串且以 .txt 结尾的文件
test_files = glob.glob("*test*.txt")
print(test_files)
# 查找以 a 或者 b 开头,且以 .txt 结尾的文件
ab_files = glob.glob("[ab]*.txt")
print(ab_files)
输出结果为:
['demo.ipynb']
[]
[]
除了以上用法之外,glob 还可以配合 os 模块使用,实现一些操作文件和路径的任务。需要注意的是,glob 函数在查找文件时会自动进行文件名排序,按照字母表顺序排列。