1

我有一个现有的简单导入语句,如下所示:

from booking import Booking

我想重写它以通过importlib库接受动态参数。

我的尝试有以下几种:

from importlib import import_module

mymodule = import_module("Booking", "booking")

这都引发了异常:

ImportError:没有名为 Booking 的模块

4

1 回答 1

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
于 2013-10-07T14:43:52.283 回答