动态导入模块
应用场景:知道模块名的字符串形式,想导入模块,怎么办呢?
modname="aa" from lib import modname
因为aa是个字符串格式,所以没法导入aa.py 模块
Traceback (most recent call last): File "<encoding error>", line 2, in <module> ImportError: cannot import name 'modname'
有两种可用的方法:
aa里面的程序:
class C: def __init__(self): self.name='Alex'
官方建议的方法是第2种:
import importlib aa=importlib.import_module("lib.aa") print(aa.C().name)