Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để bạn thêm động các mô-đun Python vào một gói trong khi chương trình của bạn đang chạy?


Để nhập động các mô-đun Python, bạn có thể sử dụng hàm import_module (moduleName) của gói importlib. Bạn cần có moduleName dưới dạng một chuỗi. Ví dụ,

>>> from importlib import import_module
>>> moduleName = "os"
>>> globals()[moduleName] = import_module(moduleName)

Nếu bạn muốn nhập động danh sách các mô-đun, bạn thậm chí có thể gọi điều này từ vòng lặp for. Ví dụ,

>>> import importlib
>>> modnames = ["os", "sys", "math"]
>>> for lib in modnames:
...     globals()[lib] = importlib.import_module(lib)

Lệnh gọi global () trả về một dict. Chúng tôi có thể đặt khóa lib cho mỗi thư viện làm đối tượng được trả lại cho chúng tôi khi nhập mô-đun.

Nếu bạn đã nhập một gói và bây giờ muốn nhập động một trong các mô-đun của nó, bạn vẫn có thể sử dụng cùng một chức năng và nhận được kết quả mong đợi. Mô-đun bạn muốn nhập phải có tên đầy đủ của nó chứ không chỉ có tên mô-đun. Ví dụ,

>>> import importlib
>>> pack = 'datetime'
>>> mod = 'date'
>>> globals()[pack] = importlib.import_module(pack)
>>> globals()[pack + '.' + mod] = importlib.import_module(pack + '.' + mod)