Cómo obtener el directorio de trabajo actual en Python

How Get Current Working Directory Python



El nombre del archivo o carpeta se puede usar con la ruta completa o simplemente mencionar el nombre del archivo o carpeta solo para usarlo en el script. La ruta completa de un archivo o carpeta desde el directorio raíz se especifica mediante ruta absoluta. Cuando el nombre del archivo se usa sin el nombre de la ruta en la secuencia de comandos, el directorio de trabajo actual se asume como el nombre de la 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 la secuencia de comandos de Python. Existen muchos módulos en python para obtener el directorio de trabajo actual. En este tutorial se muestran las formas de recuperar el directorio de trabajo actual mediante el uso de diferentes módulos en Python.

Ejemplo 1: uso del módulo pathlib para obtener el directorio de trabajo actual

La clase de ruta del módulo pathlib se utiliza para leer el directorio de trabajo actual del script en ejecución. Cree un script de Python con el siguiente código para leer e imprimir el directorio de trabajo actual usando el módulo pathlib. los método cwd () de la clase Path se utiliza para imprimir el directorio de trabajo actual desde donde se ejecuta el script.







# Importar la ruta del módulo pathlib

depathlibimportarSendero

# Recuperar la ruta del directorio de trabajo actual

directorio_de_trabajo_actual=Sendero.cwd()

# Imprime la ubicación del directorio de trabajo actual

impresión('La ubicación del directorio de trabajo actual es:')

impresión(directorio_de_trabajo_actual)

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 muestra en la salida.





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

Usar el 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 del sistema operativo para recuperar el directorio de trabajo actual. El normpath () y métodos abspath () son los dos. Estos métodos devuelven el directorio de trabajo actual como una cadena. Cree un archivo de Python con la siguiente secuencia de comandos para verificar los propósitos de estas funciones.





# Importar módulo de sistema operativo

importar usted

# Imprime el directorio de trabajo actual usando la función normpath ()

impresión('El directorio de trabajo actual (usando normpath ()) es:')

impresión(usted.sendero.dirname(usted.sendero.Normpath(__expediente__)))

# Imprime el directorio de trabajo actual usando la función abspath ()

impresión(' orteEl directorio de trabajo actual (usando abspath ()) es: ')

impresión(usted.sendero.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 muestra en la salida.



Ejemplo 3: uso de realpath () para obtener el directorio de trabajo actual

los camino real () es otro método para recuperar el directorio de trabajo actual. Cree un archivo de Python con la siguiente secuencia de comandos para imprimir el directorio de trabajo actual con el nombre de la secuencia de comandos utilizando el método realpath () . En el guión, toma el __expediente__ como el valor del argumento que contiene el nombre de la ruta del archivo en el que se importa el módulo del sistema operativo.

# Importar módulo de sistema operativo

importar usted

# Leer el directorio de trabajo actual usando la función realpath ()

camino_real= usted.sendero.camino real(__expediente__)

# Imprime el directorio de trabajo actual con el nombre del script

impresión(' orteEl directorio de trabajo actual con el nombre del script es: ')

impresión(camino_real)

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 muestra 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 sencilla de recuperar el directorio de trabajo actual del script en ejecución. No contiene ningún argumento y devuelve el CWD como una cadena. Cree un archivo de Python con la siguiente secuencia de comandos 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 del directorio actual se cambia usando el función chdir () . los comando getcwd () se llama de nuevo después de cambiar el directorio.

# Importar módulo de sistema operativo

importar usted

# Imprime el directorio de trabajo actual usando la función getcwd ()

impresión('El directorio de trabajo actual es: orte', usted.getcwd())

# Cambiar el directorio de trabajo actual

usted.chdir('/ etc / mail')

# Imprime el directorio de trabajo actual después del cambio

impresión(' orteEl directorio de trabajo actual después del cambio es: orte', usted.getcwd())

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 impreso antes de cambiar el directorio. A continuación, se imprimió la ruta del directorio modificada.

Ejemplo-5: uso de getcwd () con try-except para obtener el directorio de trabajo actual

Cree un archivo de Python con la siguiente secuencia de comandos para cambiar el directorio de trabajo actual según el valor de entrada y manejar diferentes tipos de errores. Se pueden manejar tres tipos de errores ejecutando el script. los Error de FileNotFoundError se generará si la ruta tomada de la entrada no existe. los NotADirectoryError error se generará si la ruta tomada de la entrada no es un directorio. los PermissionError error se generará si la ruta tomada desde la entrada no es accesible.

# Importar el módulo del sistema operativo

importar usted

# Ingrese la ruta del directorio

cwd= aporte('Ingrese la ruta del directorio de trabajo actual: orte')


tratar:

# Cambiar el directorio de trabajo actual

usted.chdir(cwd)

# Imprime el directorio de trabajo actual usando la función getcwd ()

impresión('El directorio de trabajo actual es: orte', usted.getcwd())

# Generar error si el directorio no existe

exceptoFileNotFoundError:

impresión('El directorio no existe'.)

# Genera error si la ruta de entrada no es un directorio

exceptoNotADirectoryError:

impresión('% s no es un directorio'%(cwd))

# Genera error si el directorio no es accesible

exceptoPermissionError:

impresión('Permiso denegado para cambiar el directorio.')

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior si la ruta existe. Aquí, existe la ruta de entrada tomada y el directorio de trabajo modificado se imprimió 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 los módulos pathlib y os para leer el directorio de trabajo actual se muestra en este tutorial usando diferentes ejemplos. En este tutorial también se muestra la forma de recuperar el directorio de trabajo actual después de cambiar el directorio de trabajo actual según la entrada del usuario.