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实现的简单dns查询功能示例
May 24 Python
Python实现感知机(PLA)算法
Dec 20 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
Dec 28 Python
使用Python更换外网IP的方法
Jul 09 Python
在Mac上删除自己安装的Python方法
Oct 29 Python
pyqt 实现为长内容添加滑轮 scrollArea
Jun 19 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
Python FTP文件定时自动下载实现过程解析
Nov 12 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
Dec 19 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
Jan 06 Python
Python机器学习工具scikit-learn的使用笔记
Jan 28 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 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执行数据库查询的一些常用操作汇总
2013/06/24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
javascript  数组排序与对象排序的实例
2017/07/17 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
webpack优化的深入理解
2018/12/10 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
Python显示进度条的方法
2014/09/20 Python
python字典排序实例详解
2015/05/20 Python
Python读大数据txt
2016/03/28 Python
简单谈谈Python中的闭包
2016/11/30 Python
Python中Threading用法详解
2017/12/27 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
python开发一款翻译工具
2020/10/10 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
美国Lolё官网:购买大胆而美丽的女性运动服装
2017/05/22 全球购物
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
语文教育专业求职信
2014/06/28 职场文书
体育运动会广播稿
2014/10/05 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
Win11查看设备管理器
2022/04/19 数码科技