Obtener la ruta del archivo actual en Python

Manav Narula 30 enero 2023
  1. Uso del módulo pathlib para obtener la ruta de los archivos y el directorio de trabajo actual
  2. Usar el módulo os para obtener la ruta de los archivos y el directorio de trabajo actual
Obtener la ruta del archivo actual en Python

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 Narula avatar Manav Narula avatar

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

Artículo relacionado - Python Path