我有一个现有的简单import语句如下:
from booking import Booking
我想通过importlib
库重写以接受动态参数。
我的尝试是以下变体:
from importlib import import_module
mymodule = import_module("Booking", "booking")
这一切都引发了异常:
ImportError:没有名为Booking
的模块
答案 0 :(得分:3)
我使用此函数从模块动态导入类:
def import_class(modulename, classname):
''' Returns imported class. '''
try:
return getattr(__import__(modulename, globals(), locals(), [classname], -1), classname)
except AttributeError:
print 'Error in importing class. "%s" has no class "%s"' % (modulename, classname)
return None
except ImportError as e:
print 'Error in importing class: %s' % (e)
return None