python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法

yipeiwu_com6年前Python基础

Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8
查看目前系统字符集

复制代码 代码如下:

import sys
print sys.getdefaultencoding()

执行:
复制代码 代码如下:

[root@lee ~]# python a.py
ascii

修改成utf-8
复制代码 代码如下:

import sys
 
sys.setdefaultencoding('utf-8')
 
print sys.getdefaultencoding()

执行:
复制代码 代码如下:

[root@lee ~]# python a.py
Traceback (most recent call last):
  File "a.py", line 4, in <module>
    sys.setdefaultencoding('utf-8')
AttributeError: 'module' object has no attribute 'setdefaultencoding'
提示:AttributeError: 'module' object has no attribute 'setdefaultencoding'?

后来经过查找相关资料,才发现早期版本可以直接sys.setdefaultencoding('utf-8'),新版本需要先reload一下
复制代码 代码如下:

import sys
 
reload(sys)
sys.setdefaultencoding('utf-8')
 
print sys.getdefaultencoding()

执行
复制代码 代码如下:

[root@lee ~]# python a.py
utf-8

 

相关文章

Python实现的用户登录系统功能示例

Python实现的用户登录系统功能示例

本文实例讲述了Python实现的用户登录系统功能。分享给大家供大家参考,具体如下: 有N,E,Q三个选择,若选择Q或者中断,则系统退出。若其他选项,则持续让用户选择。 #!/usr/...

使用Python求解最大公约数的实现方法

1. 欧几里德算法 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的最大公约数。其计算原理依赖于下面的定理: 定理: gcd(a, b) = gcd(b, a mod b) 证明...

Python中第三方库Requests库的高级用法详解

一、Requests库的安装 利用 pip 安装,如果你安装了pip包(一款Python包管理工具,不知道可以百度哟),或者集成环境,比如Python(x,y)或者anaconda的话...

Python 创建新文件时避免覆盖已有的同名文件的解决方法

思路:创建文件时,先检查是否有同名文件(使用os.path.isfile),如果有,则在文件名后加上编号n来创建。 关键点: 1. 使用os.path.isfile判断文件是否存在 2....

python-numpy-指数分布实例详解

如下所示: # Seed random number generator np.random.seed(42) # Compute mean no-hitter time: ta...