importlib模块
importlib模块
import importlib
根据这个字符串来导入这个模块的
a=importlib.import_module('xx.oo')
print(a.Person())
里面可以传参数进去
这个上面就相当于from xx import oo
后面就是实例化这个这个person这个类(这个person类在这个oo这个py文件里面)
例子1:
import importlib
a=importlib.import_module("test.test1")#相当于from test import test1
a.fun1('yun')#这个a是一个test下面的test1.py的文件模块.py的文件
the_class=getattr(a,'fun1')#可以得到在test1.py下面这个fun1类的函数
b=the_class('yunxin')##这个是传参数进去
print(the_class)
# print(b)
print('执行')
例子2:
path='auth.cors.cla'
import importlib
rsplit是从右边开始分割,最大分割次数为1
model_name,class_name=path.rsplit('.',maxsplit=1)
m=importlib.import_module(model_name)
#导入这个路径
cls=getattr(m,class_name)
#在之前的模块里面拿到这个类的名字
obj=cls()实例化