Trong python, tôi phải khởi tạo một số lớp nhất định, biết tên của nó trong một chuỗi, nhưng lớp này 'sống' trong một mô-đun được nhập động. Một ví dụ sau:
tập lệnh lớp nạp:
import sys
class loader:
def __init__(self, module_name, class_name): # both args are strings
try:
__import__(module_name)
modul = sys.modules[module_name]
instance = modul.class_name() # obviously this doesn't works, here is my main problem!
except ImportError:
# manage import error
kịch bản mô-đun được tải động
class myName:
# etc...
Tôi sử dụng sự sắp xếp này để làm cho bất kỳ mô-đun được tải động nào được sử dụng bởi lớp trình nạp theo các hành vi được xác định trước trong các mô-đun được tải dyn ...
module = __import__(module, fromlist=[name])
chỉ làm việc cho tôi