python获取脚本的运行目录

本文系统讲解了 Python 中“脚本运行目录”的真实含义与常见误区,指出运行目录并非单一概念,而是涉及当前工作目录、脚本文件路径与模块路径等多个层面。通过对 os.getcwd()、__file__、pathlib 等方法的原理与适用场景分析,文章帮助开发者在不同执行环境下做出正确选择,并结合项目结构、部署与打包场景给出最佳实践建议,强调清晰路径语义对稳定性与可维护性的长期价值。

作者:Rhett Bai发布时间:2026-03-28 20:08阅读时长:13 分钟
python获取脚本的运行目录
常见问答
Q
如何在Python中获取当前脚本的文件路径?

我想知道如何用Python代码获取到正在运行的脚本的具体文件路径,有哪些方法可以实现?

A

获取当前脚本路径的方式

在Python中,可以使用内置的__file__变量配合os模块来获取脚本的完整路径。例如,使用os.path.abspath(file)可以获取脚本的绝对路径。

Q
怎么得到Python脚本所在的目录而不是完整路径?

我只需要获取脚本所在的文件夹路径,而不包含脚本文件名,如何实现这一需求?

A

获取脚本所在目录的方法

可以通过os.path.dirname(os.path.abspath(file))来获取脚本所在目录。这会返回去掉文件名后的目录路径,方便用于访问脚本所在文件夹中的其他文件。

Q
在不同环境下获取Python脚本路径有哪些注意事项?

当Python脚本放在不同环境运行时,比如被打包成exe或者作为模块导入,获取路径的方式有哪些需要特别注意的地方?

A

跨环境获取脚本路径的注意点

一些环境下,__file__变量可能不可用,比如通过PyInstaller打包生成的exe。在这种情况下,可以使用sys模块结合sys.argv[0],或者使用inspect模块获取当前文件路径来替代。同时,使用os.path.realpath()可以解决符号链接问题。

* 文章含AI生成内容
 

文章互动

这篇文章对你有帮助吗?