Bắt đầu ngayBắt đầu miễn phí

Thay đổi thư mục làm việc

Bạn đang dùng một thư viện mã nguồn mở cho phép bạn huấn luyện các mạng nơ-ron sâu trên dữ liệu của mình. Không may là trong quá trình huấn luyện, thư viện này ghi các mô hình checkpoint (tức là các mô hình được huấn luyện trên một phần dữ liệu) vào thư mục làm việc hiện tại. Bạn thấy hành vi đó phiền phức vì bạn không muốn phải chạy script từ đúng thư mục nơi các mô hình sẽ được lưu.

Bạn quyết định một cách khắc phục là viết một context manager để thay đổi thư mục làm việc hiện tại, cho phép bạn xây dựng mô hình, rồi đặt lại thư mục làm việc về vị trí ban đầu. Bạn cần đảm bảo rằng bất kỳ lỗi nào xảy ra trong quá trình huấn luyện mô hình cũng không được ngăn việc đặt lại thư mục làm việc về vị trí ban đầu.

Bài tập này là một phần của khóa học

Viết hàm trong Python

Xem khóa học

Hướng dẫn bài tập

  • Thêm một câu lệnh cho phép bạn xử lý mọi lỗi có thể xảy ra bên trong context.
  • Thêm một câu lệnh đảm bảo os.chdir(current_dir) sẽ được gọi dù có lỗi hay không.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
Chỉnh sửa và Chạy Mã