Python||NameError: name 'reload' is not defined

多半是运行如下代码时报错:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")
1
2
3
这段代码是为了解决Python中中文输出出错而写,在Python2中适用,在Python3中已无效。

Python2中默认编码为GBK,所以通过上述代码实现默认编码为UTF-8,以解码中文,在Python3中,默认编码已经是UTF-8。

然,无关乎功效,如何实现上述代码:

# Python 3.3之前版本
import imp
imp.reload(sys)

# Python 3.4之后
import importlib
importlib.reload(sys)
1
2
3

原文地址:https://www.cnblogs.com/hzjdpawn/p/11733572.html