CommencerCommencer gratuitement

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

Afficher le cours

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)
Modifier et exécuter le code