在將字串寫入檔案時,執行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...