ПочатиПочніть безкоштовно

Зміна робочого каталогу

Ви використовуєте бібліотеку з відкритим кодом для тренування глибоких нейронних мереж на ваших даних. На жаль, під час тренування ця бібліотека записує контрольні точки моделей (тобто моделі, натреновані на частині даних) у поточний робочий каталог. Це вас дратує, адже ви не хочете запускати скрипт саме з каталогу, куди зберігатимуться моделі.

Ви вирішуєте виправити це, написавши менеджер контексту, який змінює поточний робочий каталог, дає змогу побудувати моделі, а потім повертає робочий каталог до початкового розташування. Потрібно подбати, щоб будь-які помилки під час тренування моделі не завадили повернути робочий каталог у початкове місце.

Ця вправа є частиною курсу

Написання функцій у Python

Переглянути курс

Інструкції до вправи

  • Додайте інструкцію, яка дає змогу обробити будь-які помилки, що можуть виникнути всередині контексту.
  • Додайте інструкцію, яка гарантує виклик os.chdir(current_dir) незалежно від того, сталася помилка чи ні.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код