Pythonでは、文字列でその名前を知っている特定のクラスをインスタンス化する必要がありますが、このクラスは動的にインポートされたモジュールに「存在」します。次に例を示します。
ローダークラススクリプト:
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
some-dynamically-loaded-moduleスクリプト:
class myName:
# etc...
この配置を使用して、dyn-loaded-modulesの特定の事前定義された動作に従って、ローダークラスが動的にロードされるモジュールを使用できるようにします...
module = __import__(module, fromlist=[name])私のためだけに働いた。