glob模块用通配符匹配文件路径,支持、?、[]和*等模式,可结合recursive=True递归查找文件,适用于批量处理如列出.py文件,返回字符串列表,建议用/分隔路径,复杂场景可用pathlib替代。

在 Python 中,glob 模块用于查找符合特定规则的文件路径名,使用的是简单的通配符模式匹配,而不是正则表达式。它非常适合批量处理文件,比如读取某个目录下所有 .txt 文件或递归查找特定类型的文件。
使用 glob.glob() 可以获取与模式匹配的所有文件路径列表。
例如,列出当前目录下所有以 .py 结尾的文件:
import glob
python_files = glob.glob("*.py")
for file in python_files:
print(file)
这会返回当前目录中所有形如 script.py、main.py 等的文件名(不包含子目录中的)。
立即学习“Python免费学习笔记(深入)”;
glob 支持几种常见的通配符来构建匹配模式:
在WINDOWS下,编译时的路径是WINDOWS安装目录。 ; 在命令行模式下,PHP.INI的查找路径可以用 -C 参数替代。 ; 该文件的语法非常简单。空白字符和用分号´;´开始的行被简单地忽略(就象你可能 ; 猜到的一样)。 章节标题(例如 : [FOO])也被简单地忽略,即使将来它们可能 ; 有某种的意义。 ; ;
435
*.txt 匹配所有文本文件file?.log 匹配 file1.log、fileA.log
image[0-9].png 匹配 image1.png 到 image9.png
recursive=True)**/*.py 查找所有子目录中的 Python 文件要搜索包括子目录在内的所有匹配文件,可使用 ** 并设置 recursive=True。
例如,查找项目中所有 Python 文件:
import glob
all_py_files = glob.glob("**/*.py", recursive=True)
for file in all_py_files:
print(file)
这样可以找到根目录及其任意层级子目录下的 .py 文件,比如:utils/helper.py、tests/unit/test_app.py 等。
使用 glob 时需要注意以下几点:
os.path.join() 或直接写 /
os.path.isfile()
os.path.abspath() 使用pathlib.Path 的 .glob() 方法,语法类似且更现代基本上就这些。glob 是一个轻量、直观的工具,适合大多数日常文件搜索任务,不需要引入复杂逻辑就能快速定位目标文件。
以上就是Python 使用 glob 匹配文件路径模式的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号