CommencerCommencer gratuitement

Modifier le répertoire de travail

Vous utilisez une bibliothèque open-source qui vous permet d'entraîner des réseaux neuronaux profonds sur vos données. Malheureusement, pendant l'apprentissage, cette bibliothèque écrit des modèles de point de contrôle (c'est-à-dire des modèles qui ont été appris sur une partie des données) dans le répertoire de travail actuel. Vous trouvez ce comportement frustrant parce que vous ne voulez pas avoir à lancer le script à partir du répertoire où les modèles seront sauvegardés.

Vous décidez qu'une façon de résoudre ce problème est d'écrire un gestionnaire de contexte qui modifie le répertoire de travail actuel, vous permet de construire vos modèles, puis réinitialise le répertoire de travail à son emplacement d'origine. Vous devez vous assurer que les erreurs qui surviennent pendant l'apprentissage 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

Afficher le cours

Instructions

  • Ajoutez une déclaration qui vous permet de gérer les erreurs qui pourraient survenir dans le contexte.
  • Ajoutez une déclaration 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 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)
Modifier et exécuter le code