Python編碼錯誤處理

2021-06-11 07:50:29 字數 641 閱讀 8441

在將字串寫入檔案時,執行f.write(str),後台總是報錯:unicodeencodeerror: 'ascii' codec can't encode character u'\u6211' in position 0: ordinal not in range(128),即ascii碼無法被轉換成unicode碼。剛開始我以為python預設的編碼是utf-8,所以使用decode方法和encode方法來進行編碼轉換,後來怎麼也不成功,於是懷疑是否預設編碼不是utf-8。使用下面語句獲取python當前的預設編碼:

import sys

print sys.getdefaultencoding()

方式一:在python**中進行改變,**如下:

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

方式二:python安裝目錄下的lib\site-packages資料夾下新建乙個sitecustomize.py,檔案中的**為:

import sys

sys.setdefaultencoding('utf-8')

這樣處理完後,之前的報錯就被解決了!

python編碼問題錯誤處理

在做爬蟲後處理語料實現bsbi演算法索引程式遇到的問題 python開啟或者寫入txt時遇到的問題 問題集合 unicodeencodeerror gbk codec can t encode character ufeff in position 0 illegal multibyte seque...

Python 錯誤處理

當我們認為某些 可能會出錯時,就可以用try來執行這段 如果執行出錯,則後續 不會繼續執行,而是直接跳轉至錯誤處理 即except語句塊,執行完except後,如果有finally語句塊,則執行finally語句塊,至此,執行完畢。例 a b traceback most recent call l...

python 錯誤處理 assert

assert是斷言的意思,解釋為 我斷定這個程式執行之後或者之前會有這樣的結果,如果不是,那就扔出乙個錯誤。語法 assert expression arguments assert 表示式 引數 舉例 def foo s n int s assert n 0,n is zero return 10...