Python 3 教程 Python3 reload() 函数
描述
reload() 用于重新载入之前载入的模块。
在 Python 2.x 版本中 reload() 是内置函数,可以直线使用,参见 Python2.x reload() 函数。在 Python2.x ~ Python3.3 版本移到
imp
包中(Python2.x 也可以导入 imp 包使用),Python3.4 之后到版本移到了importlib
包中。
语法
Python2.x ~ Python3.3 之前版本:
import imp
imp.reload(module)
或
from imp import reload
reload(module)
Python3.4 之后到版本:
import importlib
importlib.reload(module)
或
from importlib import reload
reload(module)
参数
- module -- 模块对象。
返回值
返回模块对象。
实例
以下实例展示了 reload() 的使用方法。
实例 1
重新载入 sys 模块
>>> import sys, importlib
>>> importlib.reload(sys)
<module 'sys' (built-in)>
>>> importlib.reload(sys)
<module 'sys' (built-in)>
实例 2
首先我们在当前目录下创建一个 codercto.py :
codercto.py 文件
# codercto.py 文件测试代码
site = "CODERCTO"
在当前目录下启动 Python 交互式命令窗口:
实例
>>>import codercto
>>> codercto.site
'CODERCTO'
然后在另外一个窗口编辑 codercto.py 文件(不要关闭以上的 Python 交互式命令窗口),修改为以下代码:
修改后的 codercto.py 文件
# codercto.py 文件测试代码
site = "GOOGLE"
然后回到 Python 交互式命令窗口:
实例
>>> codercto.site # 输出结果没有变化
'CODERCTO'
>>> from importlib import reload # Python 3.4+
>>> reload(codercto) # 重新载入修改后的 codercto.py 文件
<module 'codercto' from '/Users/CODERCTO/codercto-test/codercto.py'>
>>> codercto.site # 输出结果正常了
'GOOGLE'
'CODERCTO'
>>> from importlib import reload # Python 3.4+
>>> reload(codercto) # 重新载入修改后的 codercto.py 文件
<module 'codercto' from '/Users/CODERCTO/codercto-test/codercto.py'>
>>> codercto.site # 输出结果正常了
'GOOGLE'
查看更多 Python 内置函数
猜你喜欢:暂无回复。