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实现Mysql数据库连接池实例详解
Apr 11 Python
Python自动化开发学习之三级菜单制作
Jul 14 Python
Python中Scrapy爬虫图片处理详解
Nov 29 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 Python
Django异步任务之Celery的基本使用
Mar 23 Python
Python使用python-docx读写word文档
Aug 26 Python
浅析pandas 数据结构中的DataFrame
Oct 12 Python
pytorch ImageFolder的覆写实例
Feb 20 Python
Python如何给你的程序做性能测试
Jul 29 Python
python高级特性简介
Aug 13 Python
python打包生成so文件的实现
Oct 30 Python
pytorch学习教程之自定义数据集
Nov 10 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无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
公共js在页面底部加载的注意事项介绍
2013/07/18 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
使用node.js搭建服务器
2017/05/20 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
Python异常处理总结
2014/08/15 Python
详解Python编程中包的概念与管理
2015/10/16 Python
Python中装饰器高级用法详解
2017/12/25 Python
详解python中的 is 操作符
2017/12/26 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
班级德育工作实施方案
2014/02/21 职场文书
聘任合同书
2015/09/21 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书