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:

注意:

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

import imp imp.reload(sys)

对于 >= Python 3.4:

import importlib importlib.reload(sys)

AttributeError: module 'sys' has no attribute 'setdefaultencoding'

基于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