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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM