Python: 动态导入模块和对象
Python: Dynamically import modules and objects
我想通过以下变量动态导入一些 class:
classes = ['AaaBc', 'AccsAs', 'Asswwqq']
for class in classes:
from file.models import class
我该怎么做?
使用__import__
spam = __import__('spam', globals(), locals(), [], 0)
语句 import spam.ham 导致此调用:
spam = __import__('spam.ham', globals(), locals(), [], 0)
请注意 __import__()
returns 此处的顶级模块,因为这是通过 import 语句绑定到名称的对象。
另一方面,语句 from spam.ham import eggs, sausage as saus
导致:
_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)
eggs = _temp.eggs
saus = _temp.sausage
参见:https://docs.python.org/3/library/functions.html#__import__
我想通过以下变量动态导入一些 class:
classes = ['AaaBc', 'AccsAs', 'Asswwqq']
for class in classes:
from file.models import class
我该怎么做?
使用__import__
spam = __import__('spam', globals(), locals(), [], 0)
语句 import spam.ham 导致此调用:
spam = __import__('spam.ham', globals(), locals(), [], 0)
请注意 __import__()
returns 此处的顶级模块,因为这是通过 import 语句绑定到名称的对象。
另一方面,语句 from spam.ham import eggs, sausage as saus
导致:
_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)
eggs = _temp.eggs
saus = _temp.sausage
参见:https://docs.python.org/3/library/functions.html#__import__