如何知道Python运行的脚本路径?

3

sys.arg[0]给我Python脚本的名称。例如,'python hello.py'返回sys.arg[0]为hello.py。但是我需要知道完整路径中hello.py所在的位置。

我该如何使用Python实现呢?

3个回答

6
os.path.abspath(sys.argv[0])

4
import sys
print(sys.path[0])

根据文档

在程序启动时初始化,此列表的第一项 sys.path[0] 是包含用于调用Python解释器的脚本的目录。


3
你可以使用__file__变量,它包含了你访问的模块的完整路径。这个路径不一定以".py"扩展名结尾,也可以是".pyc"(或者None)。
此外,还有关于__file__文档可供参考

请在此处查看有关模块对象预定义属性的信息:http://docs.python.org/reference/datamodel.html#objects-values-and-types(答案中的链接是错误的)。 - martineau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接