在python中,每一个以 .py结尾的Python文件都是一个模块。其他的文件可以通过导入一个模块来读取该模块的内容。导入从本质上来讲,就是载入另一个文件,并能够读取那个文件的内容。一个模块的内容通过这样的属性能够被外部世界使用。

这种基于模块的方式使模块变成了Python程序架构的一个核心概念。更大的程序往往以多个模块文件的形式出现,并且导入了其他模块文件的工具。其中的一个模块文件被设计成主文件,或叫做顶层文件(就是那个启动后能够运行整个程序的文件)。

默认情况下,模块在第一次被导入之后,其他的导入都不再有效。如果此时在另一个窗口中改变并保存了模块的源代码文件,也无法更新该模块。这样设计的原因在于,导入是一个开销很大的操作(导入必须找到文件,将其编译成字节码,并且运行代码),以至于每个文件、每个程序运行不能够重复多于一次。

那么想要使得Python在同一次会话中再次运行文件,该怎么办呢?这就需要调用imp标准库模块中的reload函数。如下所示

from imp import reload

reload(MyModule)

这样就可以重新装载MyModule模块,使得修改有效。

注意:reload函数希望获得的参数是一个已经加载了的模块对象的名称,所以如果在重载之前,请确保已经成功地导入了这个模块。

说明:Python 3.0把reload内置函数移到了imp标准库模块中。它仍然像以前一样重载文件,但是,必须导入它才能使用。在Python 3.0中,运行import imp并使用imp.reload(M),或者像上面所示的,运行from imp import并使用reload(M)。

0

4

分享到:

2011-07-03 22:21

浏览 4205

评论

python中的模块_python3.0中重载模块相关推荐

  1. python模块:命名空间与重载模块

    文章目录 模块命名空间: 重载模块: #module2.py print('starting to load...') import sys name=42 def func():pass class ...

  2. python不同目录调用_python3 不同目录间模块调用

    #Author by Andy #_*_ coding:utf-8 _*_ #__file__获取当前程序的相对路径 import os,sys #print(__file__) # os.path. ...

  3. python import ssl失败_Python3.7.5 ssl模块导入失败的解决办法

    import _ssl # if we can't import it, let the error propagate ????ImportError: DLL load failed: 找不到指定 ...

  4. python print函数用法_Python3.2中Print函数用法实例详解

    本文实例讲述了Python3.2中Print函数用法.分享给大家供大家参考.具体分析如下: 1. 输出字符串 >>> strHello = 'Hello World' >> ...

  5. python函数参数冒号_Python3 - 参数中的冒号和箭头

    Python3.5 中新增了一个功能是类型提示(type hints) -冒号后面是建议传入的参数类型 箭头后面是建议函数返回的类型 如:def greeting(name: str) -> s ...

  6. python圆面积的计算_python3.6中计算圆的面积

    今天根据一个如何计算圆形的面积展开对python 中变量的灵活运用进行彻底的大起底. 最简单的计算代码,比如我们需要计算半径是5毫米的圆的面积. 根据圆的面积公式s=pai*r*r 代码分享 prin ...

  7. python连接池框架_python3.0 django mysql连接池说明

    使用python的django框架连接数据库,操作数据库代码: import logging from django.db import connection LOG = logging.getLog ...

  8. python画指数函数图像_Python3.0科学计算学习之绘图(一

    基本绘图: (1)  plot是标准的绘图库,调用函数plot(x,y)就可以创建一个带有绘图的图形窗口(其中y是x的函数).输入的参数为具有相同长度的数组(或列表):或者plot(y)是plot(r ...

  9. python安装flask模块_Python3.6 安装Flask 模块

    Flask 简介: Flask 是一个轻量级的 Web 应用框架, 使用Python编写.基于WerkzeugWSGI工具箱和 Jinja2模板引擎.使用BSD 授权.Flask也被称为"m ...

最新文章

  1. jenkins-svn配置
  2. python3 print设置不换行
  3. 利用SSH端口转发功能实现X转发
  4. VHDL | 音乐盒设计(代码类)
  5. Requested resource=<memory:-1, vCores:1>问题解决
  6. 【复杂系统迁移 .NET Core平台系列】之静态文件
  7. Java静态方法与非静态方法的泛型
  8. JQuery文件上传控件Uploadify文档
  9. 当你的程序在朋友的机器上显示丢失msvcr100d.dll的时候
  10. BFC的布局规则以及触发条件
  11. androidstudio mac mini_苹果M1芯片笔记本能安装运行Android Studio和模拟器吗?能!
  12. 《零基础入门学习Python》学习过程笔记【016列表,元组,字符串的转化及共用技巧】...
  13. [编写高质量代码:改善java程序的151个建议]建议101 Class类
  14. mysql debug版本_MySQL各个版本区别
  15. android图片添加文字,android图片上添加文字
  16. win10系统安装+激活+去水印
  17. C语言typedef和define、字节对齐的问题
  18. Win10:电脑共享WIFI
  19. 开学季学生党需要准备哪些数码好物,分享几款实用的数码好物
  20. 编写微信聊天机器人3《聊天精灵WeChatGenius》:使用Xposed来hook微信,找到微信进程。

热门文章

  1. C语言之typedef定义函数指针(十三)
  2. 机器学习入门(二):工具与框架的选择
  3. 红茶一杯话Binder(初始篇)
  4. 结合源码探讨Android距离传感器亮灭屏机制
  5. mqtt之C++编译
  6. 笔记3:Tensorflow2.0实战之MNSIT数据集
  7. LNMP环境下搭建SVN服务器
  8. 自己动手Centos7搭建wordpress网站步骤(LNMP+wordpress)
  9. python 中文乱码_python 解决cv2绘制中文乱码问题
  10. elasticsearch_spring-data-elasticsearch 快速入门-Spring Boot+Elasticsearch