Cómo obtener y cambiar el directorio de trabajo actual en Python

1 mar 2021 2 min di lettura
Cómo obtener y cambiar el directorio de trabajo actual en Python
Indice dei contenuti

Introducción

Cuando se trata de archivos en directorios en Python, siempre es una buena idea usar rutas absolutas. Sin embargo, si está trabajando con rutas relativas, debe comprender el concepto del directorio de trabajo actual y cómo encontrar o cambiar el directorio de trabajo actual. Una ruta absoluta especifica una ruta de archivo o directorio comenzando desde el directorio raíz, mientras que la ruta relativa comienza desde el directorio de trabajo actual.

Cuando se ejecuta un script de Python, el directorio de trabajo actual se establece en el directorio desde el que se ejecuta el script.

El módulo os python proporciona una forma portátil de interactuar con el sistema operativo. El módulo es parte de la biblioteca estándar de Python e incluye métodos para buscar y cambiar el directorio de trabajo actual.

Obtener el directorio de trabajo actual en Python

El getcwd() del módulo os en Python devuelve una cadena que contiene la ruta absoluta del directorio de trabajo actual. La cadena devuelta no incluye el carácter de barra diagonal final.

os.getcwd()

Para utilizar los métodos del módulo del sistema operativo, debe importar el módulo al principio del archivo.

A continuación se muestra un ejemplo que muestra cómo imprimir el directorio de trabajo actual:

# Import the os module
 import os

 # Get the current working directory
 cwd = os.getcwd()

 # Print the current working directory
 print("Current working directory: {0}".format(cwd))

 # Print the type of the returned object
 print("os.getcwd() returns an object of type: {0}".format(type(cwd)))

La salida se verá así:

Current working directory: /home/noviello
 os.getcwd() returns an object of type: <class 'str'>

Si desea encontrar el directorio donde se encuentra el script, use os.path.realpath(__file__). Devolverá una cadena que contiene la ruta absoluta del script en ejecución.

Cambiar el directorio de trabajo actual en Python

Para cambiar el directorio de trabajo actual en Python, use el método chdir()

os.getcwd(path)

El método toma un argumento, la ruta al directorio donde desea cambiar. El path puede ser absoluto o relativo.

Aquí hay un ejemplo:

# Import the os module
 import os

 # Print the current working directory
 print("Current working directory: {0}".format(os.getcwd()))

 # Change the current working directory
 os.chdir('/tmp')

 # Print the current working directory
 print("Current working directory: {0}".format(os.getcwd()))

La salida se verá así:

Current working directory: /home/noviello
 Current working directory: /tmp

El argumento proporcionado por el chdir() debe ser un directorio; de lo contrario, se NotADirectoryError un NotADirectoryError. Si el directorio especificado no existe, se FileNotFoundError un FileNotFoundError. Si el usuario bajo el que se ejecuta el script no tiene los permisos necesarios, se PermissionError un PermissionError.

# Import the os module
 import os

 path = '/var/www'

 try:
 os.chdir(path)
 print("Current working directory: {0}".format(os.getcwd()))
 except FileNotFoundError:
 print("Directory: {0} does not exist".format(path))
 except NotADirectoryError:
 print("{0} is not a directory".format(path))
 except PermissionError:
 print("You do not have permissions to change to {0}".format(path))

Conclusión

Para encontrar el directorio de trabajo actual en Python, use os.getcwd() y para cambiar el directorio de trabajo actual, use os.chdir(path).

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.