深入解析 Python 中的 glob.glob() 方法
glob.glob
是 Python 的 glob
模块中的一个函数,它用于查找所有路径名匹配指定模式的文件,路径名是使用 Unix shell 风格的模式进行匹配的。
详细功能如下:
-
模式匹配:你可以使用 Unix shell 风格的通配符来指定要匹配的文件名模式。例如:
*
匹配任意个字符(不包括目录分隔符/
)。?
匹配任意单个字符。[seq]
匹配seq
中的任意字符。[!seq]
匹配不在seq
中的任意字符。例如,[a-z]
匹配任何小写字母。-
递归匹配:如果你传递了
recursive=True
参数(在 Python 3.5+ 中可用),则glob.glob
会递归地匹配所有子目录中的文件。 -
返回匹配的文件列表:
glob.glob
返回一个列表,其中包含所有匹配的文件路径名。如果找不到匹配的文件,该列表将为空。
示例:
import glob
# 查找当前目录下的所有 .txt 文件
txt_files = glob.glob("*.txt")
# 递归查找 /path/to/dir 及其子目录下所有的 .py 文件
py_files = glob.glob("/path/to/dir/**/*.py", recursive=True)
# 打印结果
print(txt_files)
print(py_files)
注意:在递归匹配中(即使用 ),该特性是在 Python 3.5 版本中引入的,如果你使用的是较早的 Python 版本,你可能需要使用其他方法来实现递归匹配。
作者:小亮黑子