我正在尝试获取我的 python 脚本的路径。
我知道 'sys.argv[0] 给了我 python 脚本的路径和名称。
我怎样才能得到路径?
我试过了:
print sys.argv[0]
path = sys.argv[0].split("/")
scriptpath = "".join(path[0:-1])
但它不会添加回路径分隔符。
我正在尝试获取我的 python 脚本的路径。
我知道 'sys.argv[0] 给了我 python 脚本的路径和名称。
我怎样才能得到路径?
我试过了:
print sys.argv[0]
path = sys.argv[0].split("/")
scriptpath = "".join(path[0:-1])
但它不会添加回路径分隔符。
更喜欢使用__file__
,像这样:
os.path.dirname(os.path.realpath(__file__))
注意:如果您通过另一个目录中的另一个脚本调用脚本,则使用sys.argv[0]
可能不起作用。
你正在寻找os.path.dirname()
,如果你可能有一个相对路径,你也os.path.abspath()
需要
Don't try string operations on paths, use the os.path
module instead. E.g.:
scriptpath = os.path.dirname(sys.argv[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)