如何获取Python脚本的路径?

How can I get the path of my python script?

我正在尝试获取Python脚本的路径。

我知道'sys.argv[0]给出了我的python脚本的路径和名称。

我怎么才能找到路?

我试过:

1
2
3
 print sys.argv[0]
    path = sys.argv[0].split("/")
    scriptpath ="".join(path[0:-1])

但它不会添加回路径分隔符。


喜欢使用__file__,如下:

1
os.path.dirname(os.path.realpath(__file__))

注意:如果从另一个目录通过另一个脚本调用脚本,则使用sys.argv[0]可能不起作用。


你在找os.path.dirname(),如果你可能有相对的路径名,你也需要os.path.abspath()


不要在路径上尝试字符串操作,而是使用os.path模块。例如。:

1
scriptpath = os.path.dirname(sys.argv[0])

从另一个stackoverflow线程

1
2
3
4
5
6
import sys, os

print 'sys.argv[0] =', sys.argv[0]            
pathname = os.path.dirname(sys.argv[0])        
print 'path =', pathname
print 'full path =', os.path.abspath(pathname)