python运行代码出现'ascii' codec can't decode byte 0xb4 in position 11: ordinal not in range(128)

学习机器学习时出现的问题,百度了半天也没弄好,但知道了大概的原因

原因如下:因为默认情况下,Python采用的是ascii编码方式,而Python在进行编码方式之间的转换时,会将 unicode 作为“中间编码”,但 unicode 最大只有 128 那么长,所以这里当尝试将 ascii 编码字符串转换成"中间编码" unicode 时由于超出了其范围,就报出了如上错误。

既然知道了原因,那就好解决了不是

解决方法如下:

1.修改默认编码格式: 例如# encoding =utf-8

2.在/usr/lib/python2.7/site-packages/目录下添加一个sitecustomize.py文件,内容如下:

import sys
sys.setdefaultencoding(‘utf-8‘)

3.上面那个办法我没试过,但感觉应该可以,它原理上是修改了所有文件的编码格式。

然而我错的原因在于路径有中文。。。改成英文就好了,如果有同样情况的不妨一试

python运行代码出现'ascii' codec can't decode byte 0xb4 in position 11: ordinal not in range(128)

时间: 2024-11-08 16:20:17

python运行代码出现'ascii' codec can't decode byte 0xb4 in position 11: ordinal not in range(128)的相关文章

Python报错“UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)”的解决办法

最近在用Python处理中文字符串时,报出了如下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)   1.原因 因为默认情况下,Python采用的是ascii编码方式,如下所示: ?? python -c "import sys; print sys.getdefaultencoding()" ascii ?? 而Python在进行编

运行python代码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe7 in position 91: ordinal not in range(128)的解决办法

1.通过搜集网上的资料,自己多次尝试,问题算是解决了,在代码中加上如下几句即可: import sys reload(sys) sys.setdefaultencoding('utf-8') 2.原因就是Python的str默认是ascii编码,和unicode编码冲突,混淆了python2 里边的 str 和 unicode 数据类型. 3.python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii. 运行python代码报错UnicodeDec

[Python] 运行Flask, 报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: ordinal not in range(128)

运行时报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: ordinal not in range(128) Python2.7在Windows上一个bug!!! 解决方法: 参考官方patch: http://bugs.python.org/file19332/9291a.patch 如下代码:一,加入from itertools import count: 二,修改 def enum_type

Python运行时遇到UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)的问题

找到报错的地方.在前一行加上: reload(sys) sys.setdefaultencoding('utf-8') 再运行就可以了. Python的字符串真的是麻烦啊. Bon Appetite~ Python运行时遇到UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)的问题

python安装程序是报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128) 有2种方法设置python的默认编码: 方法一: 在程序中加入以下代码: import sys reload(sys) sys.setdefaultencoding('utf8') 方法二:

【Python】【解决】UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(128)

我是转的 http://www.cnblogs.com/QuLory/p/3615584.html 刚用flask写了个小小的程序 程序能跑起来 可是就是访问网页的时候却报标题的错误 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(128) Unicode的编码问题,读取文件时使用的编码默认是ascii而不是utf8,所以报错 在代码中加上几句即可: impo

【Error】Python:ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128)

最近编写Python程序时经常遇见中文相关的问题,这里说一个问题的解决方法. 我在使用json模块的dumps()函数时,因为涉及到中文,报出如下错误: ascii codec can't decode byte 0xe8 in position 0:ordinal not in range(128) 这是编码相关的问题,在该程序中加入如下代码: import sys reload(sys) sys.setdefaultencoding('utf-8') 这样就可以解决该问题了,希望对大家有所帮

【随笔记录】python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法

python xml处理中文时出现的错误,记录一下,以免忘记 "UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决办法,在该python文件的前面加上如下几句,问题得到解决. import sys default_encoding = 'utf-8' if sys.getdefaultencoding() != default_enco

python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法

"UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决办法,在该python文件的前面加上如下几句,问题得到解决 #!/usr/bin/env python # -*- coding:utf8 -*- import sysdefault_encoding = 'utf-8'if sys.getdefaultencoding() != de