python编程(动态加载)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
脚本语言都有一个优点,就是动态加载。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'])
4、类似的案例还包括如何从字符串找到函数名
getattr(sys.modules['__main__'], 'add')
大家可以多测试一下,有更好的办法的话也可以一起学习一下。
python编程(动态加载)相关推荐
- python爬虫动态加载页面_Python+Selenium爬取动态加载页面(2)
注: 上一篇<Python+Selenium爬取动态加载页面(1)>讲了基本地如何获取动态页面的数据,这里再讲一个稍微复杂一点的数据获取全国水雨情网.数据的获取过程跟人手动获取过程类似,所 ...
- python requests 动态加载_Python获取网页中动态加载的数据
Python获取网页中动态加载的数据 0.XHR 是什么? XHR是 XMLHttpRequest 对象.既Ajax功能实现所依赖的对象,在JQuery中的Ajax是对 XHR的封装. 1.查看异步加 ...
- python爬虫实例解析-Python(爬虫)- 动态加载案例分析
requests """ 基于网络请求的模块. 环境的安装:pip install requests 作用:模拟浏览器发起请求 分析requests的编码流程: 1.指定 ...
- python爬虫动态加载页面_python3的爬虫笔记8——动态加载页面爬虫
其实大部分主流网站都不是静态的html,html和Javascript相结合已经是大势所趋. 本篇以花瓣网主页为例子. 花瓣网主页,右键查看网页源代码,获得的页面是这样的: 如果还是用之前静态页面的那 ...
- python爬虫动态加载_python爬虫入门实战(四)!爬取动态加载的页面!
今天的主题是爬取动态网页的经验分享,以cocos论坛为例子进行分享.(官方不会打我吧 ) 配置环境 为什么选择cocos论坛呢?因为自己在浏览论坛时,发现标题内容会随着滚动条的位置而动态添加. 环境: ...
- python爬虫动态加载页面_如何爬动态加载的页面?ajax爬虫你有必要掌握
通过前面几期Python爬虫的文章,不少童鞋已经可以随心所欲的爬取自己想要的数据,就算是一些页面很难分析,也可以用之前介绍的终极技能之「Selenium」+「Webdriver」解决相关问题,但无奈这 ...
- python requests 动态加载_python requests 高级用法
HTTP动词 Requests 提供了几乎所有HTTP动词的功能:GET.OPTIONS.HEAD.POST.PUT.PATCH.DELETE.以下内容为使用 Requests 中的这些动词以及 Gi ...
- go加载python_人生苦短我用python(02)动态加载模块-Go语言中文社区
文章内容为原创,欢迎转载请注明出处 作者: EflyPro->晦明禅师 文章来源:公众号"睿江云计算" 继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一 ...
- python动态加载模块有什么用_人生苦短我用python(02)动态加载模块
继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一致好评,经常问小普第二期什么时候出呀?好期待~ 来来来小普这就呈上第二期[02动态加载模块] 错过了第一期的小伙伴们可以点此穿越哦 ...
最新文章
- 计算机网络试卷模板,用Word制作真实试卷模板(下)
- 关于 resgen.exe已退出 代码为 2 的错误问题的解决办法。
- codeforces 528D. Fuzzy Search 快速傅里叶变换
- 1058 A+B in Hogwarts (20 分)_7行代码AC
- P3356 火星探险问题(网络流)
- [css] 请举例说明伪元素 (pseudo-elements) 有哪些用途?
- python无缘无故不执行/跳过某个函数,无报错无警告
- 动态扩容Linux根目录 (解决/dev/mapper/centos-root 占用了过高问题)
- 渠道下沉 阿里争食社区经济最后一公里
- C - Catch That Cow POJ - 3278(广搜)
- 耳机插在电脑上没声音linux,解决linux上耳机没有声音
- java项目账户充值提现_资金充值提现明细
- 上半年要完成的博客占坑77
- 【VBox】解决复制VBox虚拟机后提示硬盘UUID 已经存在的问题
- 独家专访英特尔AI布道师 | 通信工程到人工智能的高质量转型
- 【题解】天梯赛练习集 L1-059 敲笨钟
- 0103 混蛋罗心得[装*技巧]
- 反向代理和正向代理之间的区别
- 视频编解码——编码流程介绍
- 什么是JDK、JRE