在Python中查找文件位置的核心方法是使用os
和pathlib
模块,通过os.path.abspath()
、os.getcwd()
或Path.resolve()
快速获取绝对路径,结合os.walk()
可递归搜索目录下的文件。
-
获取当前脚本路径
使用os.path.abspath(__file__)
直接输出当前执行脚本的完整路径,适用于调试或动态加载资源。 -
定位工作目录
os.getcwd()
返回Python进程的当前工作目录,而os.chdir()
可切换目录,适合需要动态调整路径的场景。 -
搜索特定文件
通过os.walk()
递归遍历目录,匹配文件名或后缀(如.py
),示例:python复制
for root, _, files in os.walk("/target_path"): if "target.txt" in files: print(os.path.join(root, "target.txt"))
-
模式匹配与高级搜索
glob.glob("*.txt")
支持通配符批量查找,pathlib.Path().rglob("*")
则以面向对象方式实现递归搜索,代码更简洁。 -
跨平台兼容性
pathlib
模块统一路径分隔符(如/
和\
),避免操作系统差异导致的路径错误,推荐在新项目中使用。
提示: 对于复杂项目,建议结合环境变量管理路径(如os.environ.get('CONFIG_PATH')
),提升代码可维护性。