python 动态加载的实现方法


Posted in Python onDecember 22, 2017

脚本语言都有一个优点,就是动态加载。lua语言有这个优点,python也有这个特性。说简单点就是,如果开发者发现自己的代码有bug,那么他可以在不关闭原来代码的基础之上,动态替换模块。替换方法一般用reload来完成。

1、reload的基本原理

reload主要做了两个动作,删除原来的模块,添加新的模块

2、reload的等效代码

del sys.modules[module_name]
__import__(module_name)

3、reload使用的时候要注意什么

3.1 reload的入口参数是module,不是字符串,即

import sys
module = sys.modules[module_name]

3.2 重载的文件只是对应模块的__init__.py文件,如果是其他文件,则不会生效

3.3 如果是目录中其他文件,则需要分别重新加载,比如

import sys
del sys.modules['module_name:sub_file']
__import__('module_name:sub_file')

或者是

reload(sys.modules['module_name:sub_file'])

总结

以上所述是小编给大家介绍的python 动态加载的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木的支持!

Python 相关文章推荐
python实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
Python简单操作sqlite3的方法示例
Mar 22 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
Apr 11 Python
python机器人行走步数问题的解决
Jan 29 Python
Django中使用第三方登录的示例代码
Aug 20 Python
pandas 空数据处理方法详解
Nov 02 Python
python 消除 futureWarning问题的解决
Dec 25 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
Python创建临时文件和文件夹
Aug 05 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 09 Python
python基础之错误和异常处理
Oct 24 Python
python中if和elif的区别介绍
Nov 07 Python
Python决策树分类算法学习
Dec 22 #Python
Python之Scrapy爬虫框架安装及简单使用详解
Dec 22 #Python
Python2.7下安装Scrapy框架步骤教程
Dec 22 #Python
Python机器学习之决策树算法
Dec 22 #Python
python+selenium实现登录账户后自动点击的示例
Dec 22 #Python
python实现决策树
Dec 21 #Python
python利用sklearn包编写决策树源代码
Dec 21 #Python
You might like
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
php使用curl抓取qq空间的访客信息示例
2014/02/28 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python常用模块用法分析
2014/09/08 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
Django框架视图介绍与使用详解
2019/07/18 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
StringBuilder和String的区别
2015/05/18 面试题
自我评价范文点评
2013/12/04 职场文书
商务英语专业求职信范文
2014/01/28 职场文书
教学实习自我评价
2014/01/28 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
《满井游记》教学反思
2014/02/26 职场文书
结婚幸福感言
2015/08/01 职场文书