Cambiar el directorio de trabajo
Estás utilizando una biblioteca de código abierto que te permite entrenar redes neuronales profundas en tus datos. Desgraciadamente, durante el entrenamiento, esta biblioteca escribe los modelos de control (es decir, los modelos que se han entrenado con una parte de los datos) en el directorio de trabajo actual. Ese comportamiento te resulta frustrante porque no quieres tener que lanzar el script desde el directorio donde se guardarán los modelos.
Decides que una forma de solucionarlo es escribir un gestor de contexto que cambie el directorio de trabajo actual, te permita construir tus modelos y luego restablezca el directorio de trabajo a su ubicación original. Querrás asegurarte de que los errores que se produzcan durante el entrenamiento del modelo no te impidan restablecer el directorio de trabajo a su ubicación original.
Este ejercicio forma parte del curso
Escribir funciones en Python
Instrucciones de ejercicio
- Añade una declaración que te permita gestionar los errores que puedan producirse dentro del contexto.
- Añade una declaración que garantice que se llamará a
os.chdir(current_dir)
, tanto si se ha producido un error como si no.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
def in_dir(directory):
"""Change current working directory to `directory`,
allow the user to run some code, and change back.
Args:
directory (str): The path to a directory to work in.
"""
current_dir = os.getcwd()
os.chdir(directory)
# Add code that lets you handle errors
____:
yield
# Ensure the directory is reset,
# whether there was an error or not
____:
os.chdir(current_dir)