Ответ 1
Это просто безобидная причуда; вы можете скомпенсировать, используя os.path.abspath(__file__)
, см. документы
Это моя программа 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.
Это просто безобидная причуда; вы можете скомпенсировать, используя os.path.abspath(__file__)
, см. документы
os.path.normpath(os.path.join(os.getcwd(),os.path.dirname(__file__)))
Во многих случаях лучше использовать:
os.path.dirname(sys.argv[0])