Python 3
Для каталога запускаемого скрипта:
import pathlib
pathlib.Path(__file__).parent.absolute()
Для текущего рабочего каталога:
import pathlib
pathlib.Path().absolute()
Python 2 и 3
Для каталога запускаемого скрипта:
import os
os.path.dirname(os.path.abspath(__file__))
Если вы имеете в виду текущий рабочий каталог:
import os
os.path.abspath(os.getcwd())
Обратите внимание, что до и после file
- два подчеркивания, а не только одно.
Также обратите внимание, что если вы работаете в интерактивном режиме или загрузили код из чего-то другого, чем файл (например, из базы данных или онлайн-ресурса), __file__
может быть не установлен, так как отсутствует понятие «текущий файл». Ответ выше предполагает наиболее распространенный сценарий запуска скрипта Python, который находится в файле.
Ссылки
- pathlib в документации по питону .
- os.path 2.7 , os.path 3.8
- os.getcwd 2.7 , os.getcwd 3.8
- что означает переменная __file__ / делает?