Obtener la ruta del archivo actual en Python
-
Uso del módulo
pathlib
para obtener la ruta de los archivos y el directorio de trabajo actual -
Usar el módulo
os
para obtener la ruta de los archivos y el directorio de trabajo actual
En Python, podemos trabajar con muchos archivos y módulos e interactuar constantemente con el sistema de archivos. Para importar o exportar archivos, necesitamos conocer la ruta y el directorio correctos de dichos archivos; de lo contrario, se producen errores. También es esencial conocer la ruta del script de Python que se está ejecutando actualmente o la ruta de algún otro archivo.
El directorio de trabajo actual es el directorio de Python en el que estamos trabajando actualmente.
Este tutorial presentará cómo obtener la ruta completa y los directorios del archivo actual y el directorio de trabajo actual en Python.
Uso del módulo pathlib
para obtener la ruta de los archivos y el directorio de trabajo actual
La biblioteca pathlib
está disponible para Python 3.x y superior y contiene clases y métodos para manejar problemas relacionados con la ruta de los archivos.
En el código siguiente, extraeremos la ruta de un script de Python utilizando las funciones proporcionadas por el módulo pathlib
:
import pathlib
print(pathlib.Path(__file__).parent.absolute())
Producción :
C:\Sample\Python
El método absolute()
devuelve la ruta completa del archivo, y la función parent()
recupera el directorio del archivo a partir de esta ruta.
Para obtener el directorio de trabajo actual, eliminamos el nombre del fichero de la función anterior. El siguiente código muestra cómo hacerlo:
import pathlib
print(pathlib.Path().absolute())
Producción :
C:\Sample\Python
Usar el módulo os
para obtener la ruta de los archivos y el directorio de trabajo actual
La librería os
se utiliza para interactuar con el Sistema Operativo y tiene funciones disponibles para recuperar las rutas completas de los archivos. Este método también funciona con Python 2.x.
La función abspath()
puede obtener la ruta del archivo requerido, y la función dirname()
obtiene el directorio de la ruta completa.
Por ejemplo:
import os
print(os.path.dirname(os.path.abspath(__file__)))
Producción :
C:\Sample\Python
No podemos usar la función dirname()
directamente para obtener el directorio de un archivo ya que devuelve una cadena vacía.
También podemos utilizar la función realpath()
como alternativa a la función abspath()
. Elimina cualquier enlace simbólico si está presente en la ruta.
import os
print(os.path.dirname(os.path.realpath(__file__)))
Producción :
C:\Sample\Python
Para obtener el directorio de trabajo actual, podemos utilizar la función getcwd()
que devuelve la ruta del directorio actual. Podemos pasar esta ruta a la función dirname()
para obtener el directorio.
Por ejemplo:
import os
print(os.path.abspath(os.getcwd()))
Producción :
C:\Sample\Python
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn