`
eriol
  • 浏览: 409032 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

python3.0中重载模块

阅读更多

在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
分享到:
评论

相关推荐

    python3.0廖雪峰

    12. **模块重命名**: Python3.0中,一些旧模块如`urllib`进行了重构,分为`urllib.request`,`urllib.parse`和`urllib.error`等多个子模块。 廖雪峰的Python3.0教程不仅涵盖了以上这些核心变更,还深入浅出地讲解了...

    python官方3.0版本msi安装包

    1. **打印语句作为函数**:在Python 2.x中,`print` 是一个语句,而在Python 3.0中,它被转换为一个函数,即 `print()`. 这使得打印更加灵活,可以通过传递参数来控制输出。 2. **整数除法**:在Python 3.0中,两个...

    python3.0菜鸟教程.zip

    以上只是 Python 3.0 学习的一部分,实际教程中还可能包括正则表达式、网络编程、多线程、并发处理、数据库操作等内容。在 www.runoob.com 的 Python 3.0 菜鸟教程中,你将逐步学习并实践这些知识,构建坚实的编程...

    python 3.0 eclipse plugin

    Python 3.0 Eclipse Plugin是专门为开发者设计的一款强大的集成开发环境插件,它将Python 3.0的开发功能无缝地融入到了Eclipse之中。Eclipse是一款广泛应用的开源集成开发环境(IDE),支持多种编程语言,而Python ...

    Dive into Python 3.0

    - **重复强调**:描述中重复四次“深入Python 3.0”,可能是为了强调本书的主题和重点,确保读者理解该书的核心内容是关于深入学习Python 3.0。 - **预期读者**:预期读者是那些已经阅读过原版“深入Python”并对其...

    python3.0 猜数字小游戏

    python3.0 猜数字小游戏,用python3.0 实现一个猜数字小游戏

    python 3.0官方手册

    这是python 3.0的官方指导手册。

    python3.0更新的参考文档

    python3.0更新的参考文档,锻炼你的英语水平。绝对的实用,只要你略有English。。。

    python3.0爬虫抓取北京天气json

    python3.0爬虫抓取北京天气json

    Pythonwin win32 for Python3.0

    安装这个程序后,用户可以获得完整的win32com接口和其他相关模块,以便在Python 3.0环境中进行Windows特定的编程工作。 总的来说,Pythonwin win32 for Python 3.0是一个强大的工具,它让Python开发者能够充分利用...

    Byte Of Python 3.0

    Python 3.0是Python编程语言的一次重大升级,它解决了Python 2.x中的一些长期存在的问题,并引入了多项改进。Python 3.0在语法上做了许多调整,例如,去除了旧版中的print语句,改为print()函数;统一了整数除法,...

    python-3.0

    Python 2.x中的字符串分为字节字符串(str)和Unicode字符串(unicode),而在Python 3.0中,只有一个str类型,它默认就是Unicode,这简化了处理文本数据的过程。同时,print语句在Python 3.0中被重新定义为一个函数...

    python 3.0and python tool

    1. **字符串改革**:在Python 3.0中,字符串是以Unicode编码的,统一了str和unicode类型,简化了文本处理。此外,print语句被改为print()函数,使得输出更加灵活。 2. **整数除法**:在Python 3中,整数除法(例如5...

    Python3.0 Tutorial 简体中文版

    - **新模块与更新**:Python 3.0 引入了新的标准库模块,如 `asyncio` 用于异步编程,同时更新了许多现有模块,以适应新版本的特性。 **2. Python 基础** - **变量与数据类型**:Python 支持多种数据类型,包括...

    python官方3.0b3版本msi安装包

    在Python 3.0b3中,一些关键的更新和改动包括: 1. **语法改进**: - 删除了`print`语句,将其替换为`print()`函数,提高了语法的一致性。 - 引入了`yield from`语法,用于在生成器中递归地使用其他生成器。 - ...

    A Byte of Python v1.92 (for Python 3.0).rar

    This book is updated for the new Python 3.0 language. If you are looking for a tutorial on the current Python 2.x version, please download the previous revision of the book [5]. On the same note, if ...

    soft_Python 3.0 beta 2.zip.zip

    - **模块重命名**:部分模块在 Python 3.0 中进行了重命名,如 `urllib` 分解为多个子模块,以提高可维护性和可读性。 - **模块更新**:如 `os`, `sys`, `datetime` 等核心模块进行了增强,增加了新的功能。 6. *...

Global site tag (gtag.js) - Google Analytics