Python 解决 :NameError: name 'reload' is not defined 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 解决 :NameError: name 'reload' is not defined 问题相关的知识,希望对你有一定的参考价值。

Python 解决 :NameError: name ‘reload‘ is not defined 问题

解决:NameError: name ‘reload‘ is not defined 问题

对于 Python 2.X:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

对于 <= Python 3.3:

import imp
imp.reload(sys)

注意: 

1. Python 3 与 Python 2 有很大的区别,其中Python 3 系统默认使用的就是utf-8编码。
2. 所以,对于使用的是Python 3 的情况,就不需要sys.setdefaultencoding("utf-8")这段代码。
3. 最重要的是,Python 3 的 sys 库里面已经没有 setdefaultencoding() 函数了。
对于 >= Python 3.4:

import importlib
importlib.reload(sys)

 

基于python3.6.1版本,在一个.py文件中,加入这3行:

import requests, re, sys
reload(sys)
sys.setdefaultencoding("utf-8")

出现这样的错误:

sys.setdefaultencoding("utf-8")
AttributeError: module ‘sys‘ has no attribute ‘setdefaultencoding‘

原因分析:

Python3字符串默认编码unicode, 所以sys.setdefaultencoding也不存在了

解决:

去掉,sys.setdefaultencoding



以上是关于Python 解决 :NameError: name 'reload' is not defined 问题的主要内容,如果未能解决你的问题,请参考以下文章

Python 运行报错NameError出现原因,怎么解决

Python:导入KMeans库失败;Kmeans报错及解决方法;NameError: name ‘KMeans‘ is not defined

NameError:名称'python'未定义[关闭]

完美解决NameError: name ‘BeautifulSoup‘ is not defined

pyspark:rdd.foreach(print)报错NameError

NameError:name ‘xrange’ is not defined