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实现自动重启本程序的方法
Jul 09 Python
python实现用户管理系统
Jan 10 Python
tensorflow: 查看 tensor详细数值方法
Jun 13 Python
Python实现多线程的两种方式分析
Aug 29 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
Python字符串处理的8招秘籍(小结)
Aug 13 Python
Python turtle绘画象棋棋盘
Aug 21 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
Python json模块与jsonpath模块区别详解
Mar 05 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
Python数据分析之绘图和可视化详解
Jun 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
Prototype Template对象 学习
2009/07/19 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
python 域名分析工具实现代码
2009/07/15 Python
python统计日志ip访问数的方法
2015/07/06 Python
Python编程中对文件和存储器的读写示例
2016/01/25 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
求职自荐信格式
2013/12/04 职场文书
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
运动会广播稿200米
2014/01/27 职场文书
工地安全检查制度
2014/02/04 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
捐书活动倡议书
2015/04/27 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers