目录
一、reload(sys)用处
sys能够访问 Python 解释器在运行时的环境。在 Python 程序运行时,由于模块导入顺序不同,可能会导致 sys 模块无法正确加载。而 reload(sys) 就是重新加载 sys 模块,从而保证模块正确加载。
二、报错信息
在python2.x版本中,python默认的编码方式是ASCII编码,当程序中出现非ASCII编码时,程序会报错
解决这个问题的方法是修改python的默认编码方式,在脚本头部中添加:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
但是在python3版本中系统默认使用的就是utf-8
编码,使用上述代码会报错:
NameError: name 'reload' is not defined
三、解决办法
Python 2.7 及以下版本 :
import sys
reload(sys)
sys.setdefaultencoding('utf8')
Python 3.3及以下版本:
import imp
imp.reload(sys)
Python 3.4及以上版本:
import importlib
importlib.reload(sys)
由于python3版本中系统默认使用的就是
utf-8
编码,对于使用的是Python 3 的情况,就不需要sys.setdefaultencoding("utf-8")
这段代码