python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
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 EOL while scanning string literal问题解决方法
项目中有个定时任务,每天取到一些表数据传到一个外部接口,但是最近总是有异常,今天查了下原因. 首先本地和测试环境测试这个程序都没问题,只有线上环境会在日志中抛出异常,猜测异常主要产生的原因是数据的异常. 但是哪些数据有异常,由不得而知,于是增加了程序的输出日志和数据打印,通过几次的运行定位了发生错误的函数和数据记录. 异常是这样的: 复制代码 代码如下: EOL while scanning string literal: <string>, line 1, pos 7 google一下,这个
-
学习python处理python编码问题
概括.从python1.6开始就可以处理unicode字符了. 一.几种常见的编码格式. 1.1.ascii,用1个字节表示. 1.2.UTF-8,用1个至三个字节表示,表示ascii码时只占用1个字节,ascii编码是UTF-8的子集. 1.3.UTF-16,用2个字节表示,在python中,unicode的含义就是UTF-16. 二.python源文件的编码与解码,我们写的python程序从产生到执行的过程如下: 编辑器---->源代码---->解释器---->输出结果 2.1.编辑
-
Python转码问题的解决方法
比如,若要将某个String对象s从gbk内码转换为UTF-8,可以如下操作 s.decode('gbk').encode('utf-8′) 可是,在实际开发中,我发现,这种办法经常会出现异常: UnicodeDecodeError: 'gbk' codec can't decode bytes in position 30664-30665: illegal multibyte sequence 这 是因为遇到了非法字符--尤其是在某些用C/C++编写的程序中,全角空格往往有多种不同的实现方式
-
MySQL-Python安装问题小记
安装完mysql-python后import加载模块提示以下错误, 复制代码 代码如下: ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory 于是google之,总结一下解决方法: (1)在mysql-ython的安装目录下找到site.cfg,将 #mysql_config = XXXXXXXXXXXXXXXX 注释符号去掉,并填上mysql_config的
-
Python中遇到的小问题及解决方法汇总
本文会把学习过程中遇到的一些小问题和解决办法放在这里,以便于大家能够更好地学习python. 一.Python的异常处理 因为想到自己不断尝试写小程序的话会用到抛出异常信息来判断哪里出现了问题: usage: raise [Exception [, args [, trackback]]] 上面是Python的raise的用法,下面是自己用这个方法实现异常的抛出方法: def check_args(args): if not args.host: msg = 'Args missing! One
-
Python中用Ctrl+C终止多线程程序的问题解决
复制代码 代码如下: #!/bin/env python # -*- coding: utf-8 -*- #filename: peartest.py import threading, signal is_exit = False def doStress(i, cc): global is_exit idx = i while not is_exit: if (idx < 10000000): print "thread[
-
python 中文乱码问题深入分析
在本文中,以'哈'来解释作示例解释所有的问题,"哈"的各种编码如下: 1. UNICODE (UTF8-16),C854: 2. UTF-8,E59388: 3. GBK,B9FE. 一.python中的str和unicode 一直以来,python中的中文编码就是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个什么东西呢? 在python中提到unicode,一般指的是unicode对象,例如'哈哈'的unicode对象为 u'\u54c8
-
python MySQLdb Windows下安装教程及问题解决方法
使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://www.jb51.net/article/65743.htm ------------------------------------------------------------- 以下是windows环境下的: 1. 安装数据库mysql 下载地址:http://www.mysql.com/downloads/ 可以顺带装个图形工具,我用的
-
Python字符串的encode与decode研究心得乱码问题解决方法
为什么会报错"UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)"?本文就来研究一下这个问题. 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用
-
Python BeautifulSoup中文乱码问题的2种解决方法
解决方法一: 使用python的BeautifulSoup来抓取网页然后输出网页标题,但是输出的总是乱码,找了好久找到解决办法,下面分享给大家首先是代码 复制代码 代码如下: from bs4 import BeautifulSoupimport urllib2 url = 'http://www.jb51.net/'page = urllib2.urlopen(url) soup = BeautifulSoup(page,from_encoding="utf8")print soup
随机推荐
- 详解ASP.NET Core 在 JSON 文件中配置依赖注入
- DB2 UDB V8.1管理学习笔记(一)
- JQuery ZTree使用方法详解
- iOS开发中导航控制器的基本使用教程
- Python 的内置字符串方法小结
- 自制PHP框架之路由与控制器
- Python3如何解决字符编码问题详解
- xUtils3.0框架学习笔记分享
- php获取POST数据的三种方法实例详解
- 关于ASP生成伪参数技巧
- 使用JavaScript脚本判断页面是否在微信中被打开
- jQuery选择器之基本选择器与层次选择器
- mysql innodb的监控(系统层,数据库层)
- 使用button标签,实现三态图片按钮
- FreeBSD6.0Release+Squid+Socks5服务器架设笔记
- linux top下的 minerd 木马清除方法
- Java获取时间年、月、日的方法
- C#后台创建控件并获取值的方法
- Android开发之文件操作模式深入理解
- 什么是物理隔离