我正在尝试获取python脚本的路径。
我知道'sys.argv [0]给了我python脚本的路径和名称。
我怎样才能获得路径?
我试过了:
print sys.argv[0]
path = sys.argv[0].split("/")
scriptpath = "".join(path[0:-1])
但它不会添加路径分隔符。
答案 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)