这是我的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。
答案 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])