Python:文字列からクラスを取得する
実装例
import importlib
def class_for_name(package_name, class_name):
'''
:param str package_name:
:param str class_name:
'''
# packageが見つからなければ ImportError が発生
m = importlib.import_module(package_name)
# classが見つからなければ AttributeError が発生
c = getattr(m, class_name)
return c
使用例
# コンストラクタを呼び出す
instance = class_for_name('mypackage.foo', 'MyClass')(val1, val2, ...)