Cómo obtener el directorio de trabajo actual en Python

Cómo obtener el directorio de trabajo actual en Python

El nombre del archivo o la carpeta se puede usar con la ruta completa o simplemente mencionar el nombre del archivo o la carpeta solo para usarlo en el script. La ruta completa de un archivo o carpeta del directorio raíz se especifica mediante una ruta absoluta. Cuando el nombre del archivo se usa sin el nombre de ruta en el script, entonces el directorio de trabajo actual se supone como el nombre de ruta del archivo y se denomina ruta relativa. En Python, el directorio de trabajo actual se establece en la ubicación del directorio desde donde se ejecuta el script de Python. Existen muchos módulos en Python para obtener el directorio de trabajo actual. Las formas de recuperar el directorio de trabajo actual mediante el uso de diferentes módulos en Python han mostrado en este tutorial.

Ejemplo-1: Uso del módulo PathLib para obtener el directorio de trabajo actual

La clase de ruta del módulo PathLib se usa para leer el directorio de trabajo actual del script de ejecución. Cree un script de Python con el siguiente código para leer e imprimir el directorio de trabajo actual utilizando el módulo PathLib. El método cwd () de la clase de ruta se utiliza para imprimir el directorio de trabajo actual desde donde se está ejecutando el script.

# Importar la ruta desde el módulo PathLib
de la ruta de importación de Pathlib
# Recuperar la ruta del directorio de trabajo actual
actual_working_directory = ruta.CWD ()
# Imprimir la ubicación del directorio de trabajo actual
Imprimir ("La ubicación del directorio de trabajo actual es:")
print (actual_working_directory)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí, la ruta del directorio de trabajo actual sin el nombre del script se ha mostrado en la salida.

Ejemplo-2: usando normpath () y abspath () para obtener el directorio de trabajo actual

El uso del módulo OS es otra forma de recuperar el directorio de trabajo actual. Existen diferentes métodos en la clase de ruta del módulo OS para recuperar el directorio de trabajo actual. El normpath () y Métodos abspath () son los dos de ellos. Estos métodos devuelven el directorio de trabajo actual como una cadena. Cree un archivo de Python con el siguiente script para verificar los propósitos de estas funciones.

# Importar módulo OS
importar sistema operativo
# Imprima el directorio de trabajo actual usando la función normpath ()
imprimir ("El directorio de trabajo actual (usando normpath ()) es:")
Imprimir (sistema operativo.camino.Dirname (OS.camino.Normpath (__ archivo__))))
# Imprima el directorio de trabajo actual usando la función abspath ()
imprimir ("\ nthe actual directorio de trabajo (usando abspath ()) es:")
Imprimir (sistema operativo.camino.Abspath ('.'))

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí, la ruta del directorio de trabajo actual sin el nombre del script se ha mostrado en la salida.

Ejemplo-3: Uso de RealPath () para obtener el directorio de trabajo actual

El RealPath () es otro método para recuperar el directorio de trabajo actual. Cree un archivo Python con el siguiente script para imprimir el directorio de trabajo actual con el nombre del script utilizando el método realpath (). En el guión, se necesita __archivo__ como el valor de argumento que contiene el nombre de ruta del archivo en el que se importa el módulo del sistema operativo.

# Importar módulo OS
importar sistema operativo
# Lea el directorio de trabajo actual usando la función RealPath ()
real_path = os.camino.RealPath (__ archivo__)
# Imprima el directorio de trabajo actual con el nombre del script
Imprimir ("\ n El directorio de trabajo actual con el nombre del script es:")
Imprimir (Real_Path)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí, la ruta del directorio de trabajo actual con el nombre del script se ha mostrado en la salida.

Ejemplo-4: Uso de getcwd () para obtener el directorio de trabajo actual

Utilizando el función getCwd () del módulo OS es la forma más simple de recuperar el directorio de trabajo actual del script de ejecución. No contiene ningún argumento y devuelve el CWD como una cadena. Cree un archivo de Python con el siguiente script para verificar el uso de la función getCwd (). El directorio de trabajo actual se imprime al comienzo del script. A continuación, la ruta actual del directorio se cambia utilizando el función chdir (). El comando getcwd () se llama nuevamente después de cambiar el directorio.

# Importar módulo OS
importar sistema operativo
# Imprima el directorio de trabajo actual usando la función getcwd ()
imprimir ("El directorio de trabajo actual es: \ n", OS.getCwd ())
# Cambiar el directorio de trabajo actual
sistema operativo.chdir ('/etc/mail')
# Imprima el directorio de trabajo actual después del cambio
imprimir ("\ nthe actual directorio de trabajo después del cambio es: \ n", OS.getCwd ())

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí, la ruta de directorio de trabajo actual sin el nombre del script se ha imprimido antes de cambiar el directorio. A continuación, se ha impreso la ruta de directorio cambiado.

Ejemplo-5: Uso de getCwd () con Try-Except para obtener el directorio de trabajo actual

Cree un archivo de Python con el siguiente script para cambiar el directorio de trabajo actual en función del valor de entrada y manejar diferentes tipos de errores. Se pueden manejar tres tipos de errores ejecutando el script. El FileNotFoundError Error se generará si la ruta tomada de la entrada no existe. El Error noDirectoryError se generará si la ruta tomada de la entrada no es un directorio. El Error de permiso se generará si la ruta tomada de la entrada no es accesible.

# Importar el módulo del sistema operativo
importar sistema operativo
# Ingrese la ruta del directorio
cwd = input ("Ingrese la ruta del directorio de trabajo actual: \ n")
intentar:
# Cambiar el directorio de trabajo actual
sistema operativo.Chdir (CWD)
# Imprima el directorio de trabajo actual usando la función getcwd ()
imprimir ("El directorio de trabajo actual es: \ n", OS.getCwd ())
# Aumentar el error si el directorio no existe
Excepto FileNotFoundError:
imprimir ("El directorio no existe.")
# Sube error si la ruta de entrada no es un directorio
Excepto noDirectoryError:
imprimir (" %s no es un directorio" %(CWD))
# Aumentar el error si el directorio no es accesible
Excepto el permiso, Eler:
imprimir ("permiso denegado para cambiar el directorio.")

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior si existe la ruta. Aquí, la ruta de entrada tomada existe, y el directorio de trabajo cambiado se ha imprimido en la salida.


La siguiente salida aparecerá después de ejecutar el script anterior si la ruta no existe.


La siguiente salida aparecerá después de ejecutar el script anterior si la ruta tomada no es accesible.

Conclusión:

El uso de módulos PathLib y OS para leer el directorio de trabajo actual se muestra en este tutorial utilizando diferentes ejemplos. La forma de recuperar el directorio de trabajo actual después de cambiar el directorio de trabajo actual basado en la entrada del usuario también se ha mostrado en este tutorial.