經常在讀檔案的時候碰到亂碼就停止讀取,導致檔案讀取不完整 ,解決方法: 利用模組,import codecs file=codecs.open(path,『r』) 能解決部分問題
編碼常識:
python中的字串有str和unicode兩種形式,兩者之間不能連線,也不能比較。漢字編碼,常見的有gbk和utf-8等形式,gb2312/cp936和gbk基本上是重合的。我曾經以為,utf-8編碼之後就是unicode型別的字串,結果導致概念不清,錯誤不斷。事實上,gbk和utf-8編碼之後,都是str型別的字串,字串前面加上u生成的才是unicode型別的字串。gbk字串、utf-8字串和unicode字串是可以相互轉換的
u=u'unicode編碼文字'
g=u.encode('gbk') #轉換為gbk格式
print g #此時為亂碼,因為當前環境為utf-8,gbk編碼文字為亂碼
str=g.decode('gbk').encode('utf-8') #以gbk編碼格式讀取g(因為他就是gbk編碼的)並轉換為utf-8格式輸出
print str #正常顯示中文
s.decode('utf8','ignore') 第二個引數可以忽略一些編碼錯誤
總結:利用decode轉為通用unicode進行處理 ;在檔案開頭宣告# -*- coding: utf-8 -*-
Python 檔案讀寫,中文編碼
寫入檔案 file open e baidunetdiskdownload 基礎 day11 1.txt w r讀,w寫 覆蓋 wb以二進位制寫,a寫 不覆蓋 file open r e baidunetdiskdownload 基礎 day11 1.txt w mystr yingwen file...
python檔案讀寫與編碼解碼
最近接觸到python的檔案讀寫與編碼解碼,非常頭疼,下面寫一下最近的思考 目的為 分析在ide中將中文字串以預設編碼寫入txt檔案,在windows系統下修改txt檔案的編碼,在ide中重新開啟此txt出現錯誤的原因 ide的預設編碼是utf 8 系統的預設編碼是ansi 對於以下 str 奧森山...
Python文字讀寫及編碼檢測
因為csdn編輯器的原因,後面有一串空白,但是在編輯預覽裡是正常的 目錄 1.文字讀寫 2.路徑及檔名操作 3.編碼判斷 python的檔案操作介面屬於簡單易用型的,利用open函式開啟檔案之後就可以進行操作了,也可以用print重定向輸出到檔案。file path r 測試檔案.txt 1 寫檔案...