Python reload() 函数
描述
reload() 用于重新载入之前载入的模块。
在 Python2.x 版本中 reload() 是内置函数,在 Python2.x ~ Python3.3 版本移到 imp 包中(Python2.x 也可以导入 imp 包使用),Python3.4 之后到版本移到了 importlib 包中。
语法
Python2.x 版本是内置函数,可以直接使用:
reload(module)
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() 的使用方法:
Python2.x: 重新载入 sys 模块,并设置默认编码为 utf8
>>>import sys
>>> sys.getdefaultencoding() # 当前默认编码
'ascii'
>>> reload(sys) # 使用 reload
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf8') # 设置编码
>>> sys.getdefaultencoding()
'utf8'
>>>
Python2.x~Python3.3: 重新载入 sys 模块
>>> import sys, imp
>>> imp.reload(sys)
<module 'sys' (built-in)>
>>> imp.reload(sys)
<module 'sys' (built-in)>
>=Python3.4: 重新载入 sys 模块
>>> import sys, importlib
>>> importlib.reload(sys)
<module 'sys' (built-in)>
>>> importlib.reload(sys)
<module 'sys' (built-in)>