Python 3
Para el directorio del script que se ejecuta:
import pathlib
pathlib.Path(__file__).parent.absolute()
Para el directorio de trabajo actual:
import pathlib
pathlib.Path().absolute()
Python 2 y 3
Para el directorio del script que se ejecuta:
import os
os.path.dirname(os.path.abspath(__file__))
Si te refieres al directorio de trabajo actual:
import os
os.path.abspath(os.getcwd())
Tenga en cuenta que antes y después file
hay dos guiones bajos, no solo uno.
También tenga en cuenta que si está ejecutando de forma interactiva o ha cargado código de algo que no sea un archivo (por ejemplo, una base de datos o un recurso en línea), es __file__
posible que no se configure ya que no existe la noción de "archivo actual". La respuesta anterior supone el escenario más común de ejecutar un script de Python que está en un archivo.
Referencias
- pathlib en la documentación de python.
- os.path 2.7 , os.path 3.8
- os.getcwd 2.7 , os.getcwd 3.8
- ¿Qué significa / hace la variable __file__?