tl;博士

使用importlib.import_module导入根模块,并使用getattr函数按名称加载类:# Standard import

import importlib

# Load "module.submodule.MyClass"

MyClass = getattr(importlib.import_module("module.submodule"), "MyClass")

# Instantiate the class (pass arguments to the constructor, if needed)

instance = MyClass()

解释

您可能不想使用__import__按名称动态导入模块,因为它不允许您导入子模块:>>> mod = __import__("os.path")

>>> mod.join

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'module' object has no attribute 'join'

Here是python文档所说的__import__:Note: This is an advanced function that is not needed in everyday

Python programming, unlike importlib.import_module().

相反,使用标准^{}模块按名称动态导入模块。使用^{}可以按类的名称实例化类:import importlib

my_module = importlib.import_module("module.submodule")

MyClass = getattr(my_module, "MyClass")

instance = MyClass()

你也可以写:import importlib

module_name, class_name = "module.submodule.MyClass".rsplit(".", 1)

MyClass = getattr(importlib.import_module(module_name), class_name)

instance = MyClass()

此代码在python≥2.7(包括python 3)中有效。

python 动态导入类_从动态导入模块中类的字符串名动态实例化?相关推荐

  1. Java的知识点10——static关键字、静态初始化块、 参数传值机制、包、导入类import、 静态导入

    static 关键字 在类中,用static声明的成员变量为静态成员变量,也称为类变量. 类变量的生命周期和类相同,在整个应用程序执行期间都有效.它有如下特点: 1. 为该类的公用变量,属于类,被该类 ...

  2. mysql dump 导入导出_使用mysqldump导入导出数据

    DRDS支持MySQL官方数据导出工具mysqldump.本文围绕DRDS数据导入导出的几种常见场景对操作步骤和注意事项进行说明.mysqldump命令的详细说明请参见MySQL官方文档. mysql ...

  3. java做类似于qq空间动态加载_实现类似微博、QQ空间等的动态加载

    微博.QQ空间等的动态加载方式属于滚屏加载技术,获取当前滚动条位置来触发onscroll()函数,向服务器发起请求,将请求得到的新的数据动态加载在页面上 本文利用该原理实现了动态加载,但不是检测当前滚 ...

  4. python中的类的属性是什么_python中类属性和数据属性的解释

    python中的类叫class object,类的实例叫instance object. 类 Class Objects 类拥有两种操作,1.类属性 attribute references 2.实例 ...

  5. java 打印对象属性 工具类_关于java实现任意对象输出字符串的工具类ObjectUtils用户打印日志、接口调试及监控等...

    通过该对象工具类ObjectUtils(参考org.springframework.util.ObjectUtils)实现了类集.数组及基本数据类型转换及字符串输出,常用在日志输出打印.接口联调及对象 ...

  6. python映射实体类_将Python(django)实体类转换为Java的好方法 - java

    我正在寻找一种"复制" /将模型从Python源代码转换为Java源代码的好方法.我的想法是在服务器上使用Python django框架生成实体模型类.另一方面,我想将实体类转换为 ...

  7. python映射实体类_【HIBERNATE框架开发之二】第一个HIBERNATE-ANNONATION项目(采用@ENTITY、@ID直接映射实体类)...

    紧接上一篇,这里Himi直接copy上一篇创建的HelloHibernate项目,然后改名为:HelloAnnonation,Ok: OK,准备工作: 首先第一步,继续再我们自定义的user libr ...

  8. 加速mysql导入时间_加快mysql导入导出速度

    MySQL导出的SQL语句在处理百万级数据的时候,可能导入要花几小时.在导出时合理使用几个参数,可以大大加快导入的速度. -e 使用包括几个VALUES列表的多行INSERT语法; --max_all ...

  9. 动态改变标题_插入控件-gt;引用变量-gt;实现动态图表纵横筛选

    欢迎关注我的微信公众号:HR爱玩儿Excel和PPT,分享有趣又有逼格的Excel和PPT创意和技巧,emmm...不关注也没有关系...哼 昨晚没睡好,因为睡前老友跟我说了句话: 我们总部做的表没有 ...

最新文章

  1. 23 版本以上的v4包_Ant Design Pro V2升级到V4 小结
  2. 采用矩阵+深度优先算法解决迷宫问题
  3. 高考失常错过清华,而今保送清华直博,还发了数篇 Nature
  4. Android 系统性能优化(11)---UC性能优化方案
  5. python call agilent com_python 控制Asterisk AMI接口外呼电话的例子
  6. GDB 命令详细解释
  7. 【工具】CodeSmith Generator 7.0.2激活步骤
  8. GNN | 从序列神经网络到GCN、GraphSage、GAT图模型总结
  9. 《哲学与人生》的读书札记
  10. 贪吃蛇c加加代码_C语言编写简单贪吃蛇游戏源代码
  11. endnote设置文献第二行悬挂缩进办法
  12. 联想拯救者突然连不上网怎么办
  13. Cesium之粒子---简单粒子特效
  14. 发展5G通信,测试先行
  15. 计算机通过网口连接网络,使电脑连接网络的方法
  16. java 判断 子集_java – 获取集合子集的策略
  17. Flex布局实战:支付宝首页
  18. 一本好书的诞生与亮相
  19. mysql还原进度报告_mysqldump输出方式和进度报告
  20. django 分页 带搜索框

热门文章

  1. 在 Lua 里 使用 Cocos Studio 导出的 .csb 文件
  2. 网页打印javascript:window.print()
  3. WinForm中给DataGridView添加 自动编号
  4. 人人可以理解的区块链100问——比特币可以用于支付吗?
  5. 几道MySQL索引相关的重点面试题
  6. Servlet获得Http请求,GET/POST
  7. 消除warning方法
  8. 寻找听过我讲座的大学生
  9. 【实用】表维护视图SM30增加自定义按钮的实现
  10. 【温故知新】HTML学习笔记(下)