Зміна робочого каталогу
Ви використовуєте бібліотеку з відкритим кодом для тренування глибоких нейронних мереж на ваших даних. На жаль, під час тренування ця бібліотека записує контрольні точки моделей (тобто моделі, натреновані на частині даних) у поточний робочий каталог. Це вас дратує, адже ви не хочете запускати скрипт саме з каталогу, куди зберігатимуться моделі.
Ви вирішуєте виправити це, написавши менеджер контексту, який змінює поточний робочий каталог, дає змогу побудувати моделі, а потім повертає робочий каталог до початкового розташування. Потрібно подбати, щоб будь-які помилки під час тренування моделі не завадили повернути робочий каталог у початкове місце.
Ця вправа є частиною курсу
Написання функцій у 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)