核心代码逻辑:
import importlib
def plugin_load(plugin_name:str,sep=':'):
m,_,c = plugin_name.partition(sep)
# mod = __import__(m)
mod = importlib.import_module(m)
cls = getattr(mod,c)
return cls()
if __name__ == '__main__':
#在需要的时候动态加载
plugin_load('test1:A').showme()
运行结果:
I am A