Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách unload (reload) module Python?


Hàm reload(moduleName) tải lại module đã load trước đó (giả sử load bằng cú pháp import moduleName mà không thoát script). Dùng cho mục đích tương tác: bạn sửa source file của module và muốn test mà không cần rời Python và khởi động lại.

Ví dụ

>>> import mymodule
>>> # Sửa mymodule, muốn reload trong script này
>>> reload(mymodule)

Lưu ý: moduleName là tên module thực, không phải chuỗi chứa tên. Tài liệu Python nêu về reload:

  • Code module được recompile và module-level code re-executed, định nghĩa tập object mới gán vào tên trong dict của module.
  • Hàm init của extension module không được gọi lần 2.
  • Tên trong module namespace cập nhật trỏ đến object mới/đã thay đổi.
  • Tham chiếu khác đến object cũ (như tên ngoài module) không tự rebind đến object mới – phải cập nhật thủ công trong mỗi namespace nếu cần.

Python 3: reload nằm trong module importlib: from importlib import reload.