动态导入模块

应用场景:知道模块名的字符串形式,想导入模块,怎么办呢?

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)
原文地址:https://www.cnblogs.com/momo8238/p/7275195.html