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实现设置windows桌面壁纸代码分享
Mar 28 Python
Python随手笔记之标准类型内建函数
Dec 02 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
Jul 06 Python
python2 与python3的print区别小结
Jan 16 Python
Python实现的多项式拟合功能示例【基于matplotlib】
May 15 Python
详解如何用django实现redirect的几种方法总结
Nov 22 Python
Selenium chrome配置代理Python版的方法
Nov 29 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Pytorch的mean和std调查实例
Jan 02 Python
查看keras的默认backend实现方式
Jun 19 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
关于Python OS模块常用文件/目录函数详解
Jul 01 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版(2)
2006/10/09 PHP
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
Laravel 5 学习笔记
2015/03/06 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
常用DOM整理
2015/06/16 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
python 获取文件列表(或是目录例表)
2009/03/25 Python
python实现文件快照加密保护的方法
2015/06/30 Python
python如何查看系统网络流量的信息
2016/09/12 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python global全局变量函数详解
2018/09/18 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
Python数据类型之Dict字典实例详解
2019/05/07 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
Python 如何创建一个线程池
2020/07/28 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
家长给学校的建议书
2014/05/15 职场文书
2015年三万活动总结
2015/03/25 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
会计主管竞聘书
2015/09/15 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
JVM钩子函数的使用场景详解
2021/08/23 Java/Android