Mengubah direktori kerja
Anda menggunakan pustaka open-source yang memungkinkan Anda melatih deep neural networks pada data Anda. Sayangnya, selama pelatihan, pustaka ini menulis model checkpoint (yaitu model yang telah dilatih pada sebagian data) ke direktori kerja saat ini. Anda merasa perilaku itu menyebalkan karena Anda tidak ingin harus menjalankan skrip dari direktori tempat model akan disimpan.
Anda memutuskan salah satu cara untuk mengatasinya adalah menulis context manager yang mengubah direktori kerja saat ini, memungkinkan Anda membangun model, lalu mengembalikan direktori kerja ke lokasi asalnya. Anda perlu memastikan bahwa kesalahan apa pun yang terjadi selama pelatihan model tidak menghalangi Anda untuk mengembalikan direktori kerja ke lokasi asalnya.
Latihan ini adalah bagian dari kursus
Menulis Function di Python
Petunjuk latihan
- Tambahkan pernyataan yang memungkinkan Anda menangani kesalahan apa pun yang mungkin terjadi di dalam konteks.
- Tambahkan pernyataan yang memastikan
os.chdir(current_dir)akan dipanggil, baik ada kesalahan maupun tidak.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)