【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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编程(动态加载)相关推荐

  1. python爬虫动态加载页面_Python+Selenium爬取动态加载页面(2)

    注: 上一篇<Python+Selenium爬取动态加载页面(1)>讲了基本地如何获取动态页面的数据,这里再讲一个稍微复杂一点的数据获取全国水雨情网.数据的获取过程跟人手动获取过程类似,所 ...

  2. python requests 动态加载_Python获取网页中动态加载的数据

    Python获取网页中动态加载的数据 0.XHR 是什么? XHR是 XMLHttpRequest 对象.既Ajax功能实现所依赖的对象,在JQuery中的Ajax是对 XHR的封装. 1.查看异步加 ...

  3. python爬虫实例解析-Python(爬虫)- 动态加载案例分析

    requests """ 基于网络请求的模块. 环境的安装:pip install requests 作用:模拟浏览器发起请求 分析requests的编码流程: 1.指定 ...

  4. python爬虫动态加载页面_python3的爬虫笔记8——动态加载页面爬虫

    其实大部分主流网站都不是静态的html,html和Javascript相结合已经是大势所趋. 本篇以花瓣网主页为例子. 花瓣网主页,右键查看网页源代码,获得的页面是这样的: 如果还是用之前静态页面的那 ...

  5. python爬虫动态加载_python爬虫入门实战(四)!爬取动态加载的页面!

    今天的主题是爬取动态网页的经验分享,以cocos论坛为例子进行分享.(官方不会打我吧 ) 配置环境 为什么选择cocos论坛呢?因为自己在浏览论坛时,发现标题内容会随着滚动条的位置而动态添加. 环境: ...

  6. python爬虫动态加载页面_如何爬动态加载的页面?ajax爬虫你有必要掌握

    通过前面几期Python爬虫的文章,不少童鞋已经可以随心所欲的爬取自己想要的数据,就算是一些页面很难分析,也可以用之前介绍的终极技能之「Selenium」+「Webdriver」解决相关问题,但无奈这 ...

  7. python requests 动态加载_python requests 高级用法

    HTTP动词 Requests 提供了几乎所有HTTP动词的功能:GET.OPTIONS.HEAD.POST.PUT.PATCH.DELETE.以下内容为使用 Requests 中的这些动词以及 Gi ...

  8. go加载python_人生苦短我用python(02)动态加载模块-Go语言中文社区

    文章内容为原创,欢迎转载请注明出处 作者: EflyPro->晦明禅师 文章来源:公众号"睿江云计算" 继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一 ...

  9. python动态加载模块有什么用_人生苦短我用python(02)动态加载模块

    继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一致好评,经常问小普第二期什么时候出呀?好期待~ 来来来小普这就呈上第二期[02动态加载模块] 错过了第一期的小伙伴们可以点此穿越哦 ...

最新文章

  1. 计算机网络试卷模板,用Word制作真实试卷模板(下)
  2. 关于 resgen.exe已退出 代码为 2 的错误问题的解决办法。
  3. codeforces 528D. Fuzzy Search 快速傅里叶变换
  4. 1058 A+B in Hogwarts (20 分)_7行代码AC
  5. P3356 火星探险问题(网络流)
  6. [css] 请举例说明伪元素 (pseudo-elements) 有哪些用途?
  7. python无缘无故不执行/跳过某个函数,无报错无警告
  8. 动态扩容Linux根目录 (解决/dev/mapper/centos-root 占用了过高问题)
  9. 渠道下沉 阿里争食社区经济最后一公里
  10. C - Catch That Cow POJ - 3278(广搜)
  11. 耳机插在电脑上没声音linux,解决linux上耳机没有声音
  12. java项目账户充值提现_资金充值提现明细
  13. 上半年要完成的博客占坑77
  14. 【VBox】解决复制VBox虚拟机后提示硬盘UUID 已经存在的问题
  15. 独家专访英特尔AI布道师 | 通信工程到人工智能的高质量转型
  16. 【题解】天梯赛练习集 L1-059 敲笨钟
  17. 0103 混蛋罗心得[装*技巧]
  18. 反向代理和正向代理之间的区别
  19. 视频编解码——编码流程介绍
  20. 什么是JDK、JRE

热门文章

  1. 进程调度主要函数解析
  2. VIM Emacs 临时获得权限(:w !sudo tee %)
  3. 从学校到职场的路有多远
  4. Flash与数学:圆(2)
  5. xml文件中删除根节点
  6. RS232通信之C++实现---PC端
  7. Nginx安装及配置反向代理
  8. 对 Web 应用程序进行性能调优
  9. tesseract 4.0 ocr图像识别利器,可识别文字。图片越高清越准确
  10. java 实体类 时间格式字段注解