当前文件的路径取决于我执行程序的方式

时间:2009-09-27 15:59:43

标签: python path

这是我的Python程序:

#!/usr/bin/env python

import os

BASE_PATH = os.path.dirname(__file__)
print BASE_PATH

如果我使用python myfile.py运行它,它会打印一个空字符串。如果我使用myfile.py运行它,它会打印正确的路径。为什么是这样?我正在使用Windows Vista和Python 2.6.2。

3 个答案:

答案 0 :(得分:8)

这只是一个无害的窗户怪癖;您可以使用os.path.abspath(__file__)进行补偿,请参阅the docs

答案 1 :(得分:0)

os.path.normpath(os.path.join(os.getcwd(),os.path.dirname(__file__)))

答案 2 :(得分:0)

在许多情况下,最好使用:

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