Začněte nyníZačněte zdarma

Změna pracovního adresáře

Používáš open-source knihovnu, která ti umožňuje trénovat hluboké neuronové sítě na vlastních datech. Během tréninku ale tato knihovna ukládá kontrolní body modelu (tj. modely natrénované na části dat) do aktuálního pracovního adresáře. To je nepraktické – nechceš být nucen/a spouštět skript vždy z adresáře, kam se modely ukládají.

Rozhodneš se tento problém vyřešit pomocí context manageru, který změní aktuální pracovní adresář, nechá tě sestavit modely a poté adresář vrátí zpět na původní místo. Důležité je zajistit, aby se pracovní adresář obnovil na původní umístění i v případě, že během trénování modelu dojde k chybě.

Toto cvičení je součástí kurzu

Writing Functions in Python

Zobrazit kurz

Pokyny k cvičení

  • Přidej příkaz, který umožní zachytit případné chyby vzniklé uvnitř kontextu.
  • Přidej příkaz, který zajistí, že os.chdir(current_dir) se zavolá vždy – bez ohledu na to, zda došlo k chybě, nebo ne.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód