Cómo cambiar el directorio de trabajo en Python

Cómo cambiar el directorio de trabajo en Python

Un directorio de trabajo es un directorio actual en el que estamos trabajando y desde el cual se ejecuta el script; Dentro de este directorio, tenemos acceso a muchos archivos (los que se encuentran dentro de él). Sin embargo, a veces necesitamos cambiar los directorios e ir y venir entre archivos y carpetas. En este tutorial, aprenderemos cómo cambiar el directorio de trabajo en Python.

Módulo de sistema operativo

En primer lugar, para lograr esto, necesitaremos el módulo OS en Python. Dado que viene preinstalado, no hay necesidad de instalar nada. El módulo del sistema operativo se usa típicamente en Python para interactuar, administrar y modificar archivos y carpetas en el sistema. Por ejemplo, podemos crear/eliminar directorios, cambiar directorios de trabajo, archivos de tutorial, verificar si existen archivos, etc.... no hace falta decir que es un módulo muy útil.

Obtener el directorio de trabajo actual

Para obtener el directorio de trabajo actual, usamos el método getcwd () Del módulo del sistema operativo. Tenga en cuenta aquí que no se pasa ningún argumento. En mi caso, la salida fue "/home/kalyani/pycharmprojects/pythonproject1"En una máquina Ubuntu (ejecutando Pycharm). Esto significa que el guión principal - principal.PY - se encuentra dentro de esta carpeta (PythonProject1). Y eso sí, el directorio de trabajo, ante todo una carpeta!

importar sistema operativo
# Obtenga el directorio de trabajo actual
actual_directory = OS.getCwd ()
Imprimir ("Su directorio de trabajo actual es % S" % Current_Directory)

Cambiar el directorio de trabajo actual

Cambiar su directorio de trabajo es fácil con el método chdir (), que toma exactamente un argumento: la ruta a la nueva ubicación como una cadena.

importar sistema operativo
# Obtenga el directorio de trabajo actual
actual_directory = OS.getCwd ()
Imprimir ("Su directorio de trabajo actual es % S" % Current_Directory)

Lo primero que debe hacer es establecer la nueva ruta al directorio de trabajo. En Ubuntu, esto es muy sencillo!

# Establezcamos un nuevo directorio de trabajo
new_working_directory = "/home/kalyani/escritorio/pythondirectory"

En Windows, debe usar invertidos dobles para definir el directorio.

#New_Working_Directory = "C: \\ Users \\ nunca \\ Desktop \\ Pythondirectory"

A continuación, definimos una cláusula Try-Except. Si la ruta existe, utilizaremos el método Chdir () para cambiar el directorio de trabajo a un nuevo directorio de trabajo. Si la ruta no es un directorio, lanzará un error!

intentar:
sistema operativo.Chdir (new_working_directory)
imprimir ("El directorio de trabajo ha cambiado!")
Imprimir ("WD: % S" % OS.getCwd ())
Excepto noDirectoryError:
Imprimir ("No ha elegido un directorio.")
Excepto FileNotFoundError:
Imprimir ("La carpeta no se encontró. El camino es incorrecto.")
Excepto el permiso, Eler:
imprimir ("No tiene acceso a esta carpeta/archivo.")

El código completo se vería así:

importar sistema operativo
# Obtenga el directorio de trabajo actual
actual_directory = OS.getCwd ()
Imprimir ("Su directorio de trabajo actual es % S" % Current_Directory)
# Establezcamos un nuevo directorio de trabajo
#new_working_directory = "/home/kalyani/escritorio/pythondirectory"
new_working_directory = r "C: \ Users \ Never \ Desktop \ Pythondirectory"
intentar:
sistema operativo.Chdir (new_working_directory)
imprimir ("El directorio de trabajo ha cambiado!")
Imprimir ("WD: % S" % OS.getCwd ())
Excepto noDirectoryError:
Imprimir ("No ha elegido un directorio.")
Excepto FileNotFoundError:
Imprimir ("La carpeta no se encontró. El camino es incorrecto.")
Excepto el permiso, Eler:
imprimir ("No tiene acceso a esta carpeta/archivo.")

De hecho, los errores pueden generar varios tipos de excepciones:

i. NotAdirectoryError:

Ahora suponga para una instancia que escribí el siguiente código para la ruta o el nuevo directorio de trabajo:

new_working_directory = "C: \\ Users \\ nunca \\ Desktop \\ Pythondirectory \\ Texto.TXT"

Lo que puede señalar aquí es que estoy apuntando la ruta a un documento de texto llamado texto.TXT. Y este último lanzará un error conocido como NotAdirectoryerRor. En otras palabras, su camino debe apuntar a un directorio de algún tipo.

II. FileNotFoundError:

Un filenotfoundError se arroja cuando la ruta no existe. Entonces, supongamos por el momento que no tengo un directorio llamado Pythondirectory en mi escritorio y que establecí mi camino a:

new_working_directory = "C: \ Users \ Never \ Desktop \ Pythondirectory"

Arrojará un FilenotfoundError. Este error simplemente significa que el directorio al que señalamos no existe o no se encontró.

III. PermissionError:

A Permiso se plantea cuando el usuario no tiene permisos adecuados para modificar o acceder al directorio elegido.

IV. Error de sintaxis:

Se produce un error de sintaxis cuando hay un error de sintaxis en la ruta. En Windows, si escribimos para decir:

new_working_directory = "C: \ Users \ Never \ Desktop \ Pythondirectory"

Se lanza un error de sintaxis! Sin embargo, un error de sintaxis es mucho más difícil de atrapar, ya que necesita ser evaluado, importado o ejecutado. Como tal, cuando escribimos bloques Try-Except, es más difícil detectar tal error.

En Windows, para evitar cualquier error, la ruta se puede escribir de una de tres maneras diferentes de modo que no se arrojen errores:

Método 1: En este método, agregamos una "R" antes de configurar la cadena.

new_working_directory = r "C: \ Users \ Never \ Desktop \ Pythondirectory"

Método 2: Usamos invertidos dobles.

new_working_directory = "C: \\ Users \\ nunca \\ Desktop \\ Pythondirectory"

Método 3: Usamos una sola barra de avance.

new_working_directory = "c:/users/nunca/escritorio/pythondirectory"

Módulo de ruta

También podemos cambiar el directorio de trabajo utilizando el módulo de ruta. Primero, instale la ruta de la siguiente manera (también he dado el enlace al módulo):

ruta de instalación de PIP
(https: // pypi.org/Project/Path/)

A continuación, escribimos:

De la ruta de importación de ruta
importar sistema operativo

Primero, verifiquemos el directorio de trabajo actual utilizando el módulo OS y el método getcwd ().

# Compruebemos el directorio de trabajo actual
CWD = OS.getCwd ()
Imprimir ("El directorio de trabajo actual es: % s" % CWD)
imprimir("---------------------------------------------")

A continuación, establezca la ruta en el nuevo directorio de trabajo. En este caso, he elegido establecer el ejemplo en una máquina de Windows:

# Establezca la ruta en el nuevo directorio de trabajo
new_path = "C: \\ Users \\ Never \\ Desktop \\ Pythondirectory"

Use ruta () para cambiar el directorio de trabajo. Ruta () solo toma un argumento aquí: la ruta real al nuevo directorio de trabajo y usa el método Chdir () para lograr la tarea.

# Cambiar el directorio de trabajo
Ruta (new_path).chdir ()

Volver a verificar si se ha cambiado el directorio de trabajo. Y aquí, como puede ver en la imagen, el directorio de trabajo ha sido cambiado!

# Vuelva a verificar el directorio de trabajo
# ¿Ha sido cambiado??
CWD = OS.getCwd ()
Imprimir ("El nuevo directorio de trabajo es % S" % CWD)

Cambiar los directorios de trabajo es una tarea fácil y toma solo un método: el método Chdir (ruta). Sin embargo, dependiendo de si se encuentra en una máquina de Windows o en una máquina Linux, debe tener cuidado con cómo ingresa la ruta como una cadena. Si se ingresa incorrectamente, puede lanzar un error!

Codificación feliz!