Erste SchritteKostenlos loslegen

Ändern des Arbeitsverzeichnisses

Du verwendest eine Open-Source-Bibliothek, mit der du tiefe neuronale Netze auf deinen Daten trainieren kannst. Leider schreibt diese Bibliothek während des Trainings Checkpoint-Modelle (d.h. Modelle, die mit einem Teil der Daten trainiert wurden) in das aktuelle Arbeitsverzeichnis. Du findest dieses Verhalten frustrierend, weil du das Skript nicht aus dem Verzeichnis starten willst, in dem die Modelle gespeichert werden.

Du beschließt, dass eine Möglichkeit, dieses Problem zu beheben, darin besteht, einen Kontextmanager zu schreiben, der das aktuelle Arbeitsverzeichnis ändert, dich deine Modelle bauen lässt und dann das Arbeitsverzeichnis auf seinen ursprünglichen Ort zurücksetzt. Du solltest sicherstellen, dass Fehler, die während des Modelltrainings auftreten, dich nicht daran hindern, das Arbeitsverzeichnis auf seinen ursprünglichen Speicherort zurückzusetzen.

Diese Übung ist Teil des Kurses

Funktionen in Python schreiben

Kurs anzeigen

Anleitung zur Übung

  • Füge eine Anweisung hinzu, mit der du alle Fehler behandeln kannst, die im Kontext auftreten können.
  • Füge eine Anweisung hinzu, die sicherstellt, dass os.chdir(current_dir) aufgerufen wird, egal ob ein Fehler aufgetreten ist oder nicht.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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)
Bearbeiten und Ausführen von Code