概述
import importlib
importlib是import的python实现
1、获取模块对象
m1 = importlib.import_module("sites.sites_pybuild")
print(m1)
输出:
<module 'sites.sites_pybuild' from 'D:Documents and Settingsbinliuworkspacesbp_2.0sitessites_pybuild.py'>
2、获取类对象
aclass = getattr(m1, "sites_pybuild")
print(aclass)
输出:
<class 'sites.sites_pybuild.sites_pybuild'>
3、实例化对象
p = aclass("test")
相当于直接使用p = sites.sites_pybuild.sites_pybuild("test")
下面的文章也可以实现反射,主要思想是先导入module,然后使用globals()["classname"]获得类定义,再使用此类定义来初始化对象。
http://blog.csdn.net/lokibalder/article/details/3459722
最后
以上就是聪明斑马为你收集整理的python 动态加载类,类似java的class.forName的全部内容,希望文章能够帮你解决python 动态加载类,类似java的class.forName所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复