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

Động thêm module Python vào package khi chương trình đang chạy

Để import động module Python, dùng hàm import_module(moduleName) của package importlib. Cần có moduleName dạng chuỗi. Ví dụ:

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

Muốn import động danh sách module, có thể gọi trong vòng lặp for. Ví dụ:

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

globals() trả về dict. Ta gán key lib cho mỗi thư viện là object trả về khi import module.

Nếu đã import package và muốn động import một module con, vẫn dùng hàm này với kết quả mong đợi. Module cần import phải có full name, không chỉ tên module. Ví dụ:

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