1、给定一个文件结构,在main.py中于运用importlib 导入a.py运行其中的show()方法
├── clazz│ ├── __init__.py│ ├── a.py│ └── b.py└── main.py
a.py
的代码
def show(): print("show A")
importlib模块支持传入字符串来引入一个模块,我们可以将show()的路径传入importlib从而达到执行的效果
方法一:import importliba=importlib.import_module("clazz.a")#将模块路径作为参数传入importliba.show()
方法二:#将方法show一并写入路径,通过spilt进行分割improt importlibpath='clazz.a.show'cls_path,classname=path.rsplit('.',maxsplit=1)#通过右分割'.'的方式得到cls_path 和执行函数名cls=importlib.import_module(cls_path)cls_obj=getattr(cls,classname)#反射得到对象cls_obj()#直接运行得到运行结果