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