——本文基於python2.7版本
在用python處理txt文字時,若遇到txt文件中有中文字元的情況,會發現文件讀取出來的情況是一堆亂碼。這是因為python2.7預設的編碼形式為ascii。為了方便處理含中文內容的txt文件,此處需要先修改系統預設編碼為utf-8,這樣就可以省掉後續encode(『utf-8』)的手續(而且這種屬性的使用並不方便。比如在list元素中就沒有這一屬性)。
首先參考博文(中的步驟進行操作。但筆者在根據該方法進行操作時竟然耗費了1個小時……這也是為啥筆者覺得有必要再針對這篇文章中提出的方法進行一些整理和總結,為方便後來者操作。
第一步,你需要查詢自己的python根目錄。**如下:
import sys
sys.path
第二部,在python根目錄下找到lib資料夾下的site-packages資料夾,並在site-packages資料夾下新建乙個名為sitecustomize.py檔案(也可以建在其它地方,然後手工匯入,建在這裡,每次啟動python的時候設定將自動生效)
此處注意:在儲存檔案時,檔名為sitecustomize.py 。筆者因為沒有加字尾 .py 而浪費了不少時間…不加的話儲存的檔案型別不為py檔案,也不知道是我的特殊情況還是什麼,此處特別說明。日後來修改。
sitecustomize.py中**內容如下:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
此處請注意!執行一次改**時,若ipython欄出現如下情況:
請按如下步驟進行設定:
選擇 tools---preferences----general---advanced settings,
此後再對**進行執行,並儲存。
退出重啟python編輯器,此時可以進行測試檢視python的預設編碼形式:
import sys
sys.getdefaultencoding()
得到結果為:
'utf-8'
大功告成qwq
參考博文:
最後感謝 yizhang li同學的提供的幫助和支援!
Python 設定系統預設編碼
python在安裝時,預設的編碼是ascii,當程式中出現非ascii編碼時,python的處理常常會報這樣的錯unicodedecodeerror ascii codec can t decode byte 0x?in position 1 ordinal not in range 128 pyt...
Python 設定系統預設編碼
實際程式設計中必定要會遇到編碼問題。python在安裝時,預設的編碼是ascii,當程式中出現非ascii編碼時,python的處理常常會報這樣的錯unicodedecodeerror ascii codec can t decode byte 0x?in position 1 ordinal no...
Python 設定系統預設編碼
1.coding utf 8 作用是定義源 的編碼.如果沒有定義,此原始碼中是不可以包含中文字串的.pep 0263 defining python source code encodings 2.sys.getdefaultencoding 是設定預設的string的編碼格式 python在安裝時...