Cómo cambiar el directorio de trabajo en Python
Este artículo discute cómo se puede cambiar el directorio de trabajo actual de Python a otra ubicación.
Usar el módulo os
para cambiar de directorio en Python
Supongamos que, por alguna razón, quiere cambiar su directorio de trabajo a través de Python en lugar de la consola de comandos. En ese caso, el módulo os
proporciona herramientas para diversas utilidades del sistema operativo directamente a través de Python.
import os
Digamos que está actualmente en un directorio de trabajo en Users/user2
y quiere cambiar a Users/user2
: primero, verifique el directorio de trabajo actual en el que se encuentra imprimiendo el resultado de os.getcwd()
. Lo siguiente es llamar al bloque os.chdir("/Users/user2")
para cambiar el directorio de trabajo actual.
print(os.getcwd())
os.chdir("/Users/user2")
print(os.getcwd())
Resultado:
/Users/user
/Users/user2
Verifica que su programa ha cambiado con éxito los directorios de trabajo de user
a user2
.
Comprobación de excepciones
La ruta está introducida por el usuario, por lo que es muy probable que haya errores de entrada. Por ejemplo, el usuario introduce una ruta inexistente; esta función probablemente será muy propensa a las excepciones de FileNotFound. Dado eso, deberíamos implementar la comprobación de excepciones.
Uso de if-else
para buscar errores
La manera simple de hacerlo es comprobar si el camino especificado existe usando if-else
:
import os
def changeDir(newPath):
if os.path.exists(newPath):
os.chdir("Directory moved: ", newPath)
print(os.getcwd())
else:
print("Directory ", newPath, " not found.")
print("Base directory: ", os.getcwd())
changeDir("/Users/user2")
changeDir("/Users/nonexistentpath")
Asumamos que /Users/user2
es una ruta de archivo existente, y que /Users/nonexistentpath
no existe.
Resultado:
Base directory: /Users/user
Directory moved: /Users/user2
Directory Users/nonexistentpath not found.
La primera llamada al bloque changeDir()
pasó por la declaración if
porque la ruta existe. Por otro lado, la segunda pasa por el else
e imprime un mensaje de error porque la ruta no existe.
Usando try...except
para comprobar si hay errores
Si el comando os.chdir()
no encuentra la ruta del archivo, lanzará una notificación de FileNotFoundError
. Para atrapar esto, tenemos que envolver el código alrededor de un bloque de try...except
.
import os
def changeDir(newPath):
try:
os.chdir(newPath)
print("Directory moved: newPath")
except OSError:
print("Directory ", newPath, "does not exist.")
print("Base directory: ", os.getcwd())
changeDir("/Users/user2")
changeDir("/Users/nonexistentpath")
Resultado:
Base directory: /Users/user
Directory moved: /Users/user2
Directory Users/nonexistentpath does not exist.
Más o menos, ambos producen la misma salida; sin embargo, usar el manejo de excepciones try...except
es mucho más seguro que usar una declaración if-else
. Esto se debe a que las condiciones definidas por el usuario podrían no cubrir todas las posibles excepciones que podrían ocurrir al abordar la manipulación de la ruta de los archivos.
En resumen, el módulo os
proporciona un amplio soporte para la manipulación de archivos y directorios, entre otras utilidades que ofrece.
Podemos cambiar directamente el directorio de trabajo usando el bloque os.chdir()
, pero sería más seguro envolverlo con los bloques if-else
o try...except
para evitar que ocurran excepciones.
Si quieres explorar más sobre la manipulación de archivos, el manejo de excepciones y la actualización de los nombres de los archivos o el contenido son increíblemente importantes.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArtículo relacionado - Python Directory
- Python Obtener directorio de inicio
- Listar todos los archivos en directorio y subdirectorios en Python
- Solucione el error No Such File in Directory en Python
- Obtener el directorio de la ruta en Python
- Cuente la cantidad de archivos en un directorio en Python
- Ejecute un comando en cada archivo en una carpeta en Python