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