¿Cómo puedo obtener la ruta completa del directorio del archivo actual?

Quiero obtener la ruta del directorio del archivo actual. Lo he intentado:

>>> os.path.abspath(__file__)
'C:\\python27\\test.py'

Pero, ¿cómo puedo recuperar la ruta del directorio's?

Por ejemplo:

'C:\\python27\\'
Solución

Si te refieres al directorio del script que se está ejecutando:

import os
os.path.dirname(os.path.abspath(__file__))

Si te refieres al directorio de trabajo actual

import os
os.getcwd()

Ten en cuenta que antes y después de file hay dos guiones bajos, no sólo uno.

También hay que tener en cuenta que si se está ejecutando de forma interactiva o se ha cargado el código desde algo que no sea un archivo (por ejemplo, una base de datos o un recurso en línea), __file__ puede no estar establecido, ya que no existe la noción de "archivo actual". La respuesta anterior asume el escenario más común de ejecutar un script de python que está en un archivo.

Comentarios (17)
import os
print os.path.dirname(__file__)
Comentarios (3)

Puede utilizar la biblioteca os y os.path fácilmente como sigue

import os
os.chdir(os.path.dirname(os.getcwd()))

os.path.dirname devuelve el directorio superior al actual. Nos permite cambiar a un nivel superior sin pasar ningún argumento de archivo y sin conocer la ruta absoluta.

Comentarios (1)