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()实例化

posted @ 2018-10-06 21:34  风不再来  阅读(143)  评论(0编辑  收藏  举报