Changer le répertoire de travail
Vous utilisez une bibliothèque libre qui vous permet d'entraîner des réseaux neuronaux profonds sur vos données. Malheureusement, pendant l'entraînement, cette bibliothèque écrit des modèles de point de contrôle (c.-à-d. des modèles entraînés sur une partie des données) dans le répertoire de travail courant. Vous trouvez ce comportement frustrant, car vous ne voulez pas devoir lancer le script à partir du répertoire où les modèles seront enregistrés.
Vous décidez donc d'écrire un gestionnaire de contexte qui modifie le répertoire de travail courant, vous laisse construire vos modèles, puis rétablit le répertoire de travail à son emplacement d'origine. Vous voudrez vous assurer que toute erreur survenant durant l'entraînement du modèle ne vous empêche pas de réinitialiser le répertoire de travail à son emplacement d'origine.
Cette activité fait partie du cours
Écrire des fonctions en Python
Instructions de l’exercice
- Ajoutez une instruction qui vous permet de gérer toute erreur susceptible de se produire dans le contexte.
- Ajoutez une instruction qui garantit que
os.chdir(current_dir)sera appelé, qu'il y ait eu une erreur ou non.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)