Modification du répertoire de travail
Vous utilisez une bibliothèque open source qui vous permet de former des réseaux neuronaux profonds à partir de vos données. Malheureusement, pendant l'entraînement, cette bibliothèque enregistre les modèles de point de contrôle (c'est-à-dire les modèles qui ont été entraînés sur une partie des données) dans le répertoire de travail actuel. Vous trouvez ce comportement frustrant, car vous ne souhaitez pas devoir lancer le script à partir du répertoire où les modèles seront enregistrés.
Vous déterminez qu'une solution consiste à créer un gestionnaire de contexte qui modifie le répertoire de travail actuel, vous permet de créer vos modèles, puis rétablit le répertoire de travail à son emplacement d'origine. Il est important de vous assurer que les erreurs survenant pendant l'entraînement du modèle ne vous empêchent pas de réinitialiser le répertoire de travail à son emplacement d'origine.
Cet exercice fait partie du cours
Écrire des fonctions en Python
Instructions
- Ajoutez une instruction permettant de gérer les éventuelles erreurs pouvant survenir dans le contexte.
- Ajoutez une instruction garantissant que la fonction
os.chdir(current_dir)sera appelée, qu'il y ait eu une erreur ou non.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)