基于Python2、Python3中reload()的不同用法介绍-创新互联
reload() 简介
作用:用于重新载入之前载入的模块
语法格式:reload(module)
参数:module为模块对象,必须已经被加载
返回值:返回模块对象
注意事项:
多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。
reload()会重新加载已加载的模块,重新编译模块,重新执行模块级代码,但是__init__函数不再重复执行,原来已经使用的实例还是会使用旧的模块,而新生产的实例会使用新的模块;reload后还是用原来的内存地址;不支持from ... import ...格式的模块进行重新加载。
大部分模块设计为只加载一次,重新加载可能导致一些问题,因此,慎用reload()。
使用sys.modules可查看已加载的模块。
Python2
在Python2中,reload()为内置函数。
例:重设字符编码
>>>import sys >>> sys.getdefaultencoding() # 当前默认编码 'ascii' >>> reload(sys) # 使用 reload>>> sys.setdefaultencoding('utf8') # 设置编码 >>> sys.getdefaultencoding() 'utf8' >>>
网页题目:基于Python2、Python3中reload()的不同用法介绍-创新互联
地址分享:http://ybzwz.com/article/gsgec.html