Python:动态导入模块和对象

时间:2016-10-18 07:55:00

标签: python python-import

我想通过变量动态导入一些类:

classes = ['AaaBc', 'AccsAs', 'Asswwqq']
for class in classes:
    from file.models import class

我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用spam = __import__('spam', globals(), locals(), [], 0)

spam = __import__('spam.ham', globals(), locals(), [], 0)

语句import spam.ham导致此调用:

_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)
eggs = _temp.eggs
saus = _temp.sausage

注意 import ()如何在此处返回toplevel模块,因为这是import语句绑定到名称的对象。

另一方面,来自spam.ham的声明导入鸡蛋,香肠作为香肠导致

{{1}}

请参阅:https://docs.python.org/3/library/functions.html#import