我怎样才能获得python脚本的路径?

时间:2012-11-21 23:15:28

标签: python

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

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

我怎样才能获得路径?

我试过了:

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

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

4 个答案:

答案 0 :(得分:6)

喜欢使用__file__,如下所示:

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

注意:如果您通过另一个目录中的另一个脚本调用脚本,则使用sys.argv[0]可能无效。

答案 1 :(得分:3)

你正在寻找os.path.dirname(),如果你可能有一个相对的pathame,你也需要os.path.abspath()

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

From another Stackoverflow thread

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)