由於python中預設的編碼是ascii,如果直接使用open方法得到檔案物件然後進行檔案的讀寫,都將無法使用包含中文字元(以及其他非ascii碼字元),因此建議使用utf-8編碼。為了避免讀寫錯誤,可以直接使用codecs模組。
寫下面的**寫入了一行英文和一行中文到檔案中。
import codecs
file = codecs.open('test.txt','w','utf-8')file.write('hello world!\n')file.write('哈哈哈\n')file.close()
open('test.txt','w','utf-8')file.write('hello world!\n')file.write('哈哈哈\n')file.close()
獲取網頁編碼格式後,我們便可以對網頁內容進行解碼,再編碼成統一的格式進行處理。
import urllib2
import chardet
import time
response = urllib2.urlopen('')
content = response.read()
t = time.time()
charset = chardet.detect(content[:400])['encoding']
content = content.decode(charset, 'ignore').encode('utf-8')
ignore引數是為了忽視那些無法被解碼為unicode的字元,如果不加此引數則可能會出現類似下面的錯誤
unicodedecodeerror: 'gb2312' codec can't decode bytes in position 61399-61400: illegal multibyte sequen
python讀取未知編碼檔案
結合檢測編碼和讀取內容 參考文件 在開發日誌分析功能時,需要讀取不同編碼的檔案然後對檔案內容進行解析,那麼首先要解決的就是如何檢測編碼的問題。為了方便演示,先建立5個測試檔案 檔名對應編碼 utf8 file,utf8bom file,gbk file,utf16le file,utf16be fi...
Python 讀取檔案編碼問題
讀取csv檔案,有時可能會遇見編碼問題。join 是自動在 字串 陣列之間加上 放在set裡用來去重 def csvprocess self flag true 去重處理 產國 大類 型別 with open self.cms data path,encoding utf 8 sig as f re...
python 讀取unicode編碼檔案
參考 import chardet f open a.txt rb text f.read info chardet.detect text print info import chardet f open a.txt encoding utf 16 text f.read print text.e...