執行環境:windows+python3.5
1、rb模式,從檔案中讀取內容,得到的是bytes型別
因為我們使用的是b模式,所以在open函式中不能指定編碼格式,所以列印出來的格式的二進位制的格式,而我們需要得到str型別
這裡我們講一下,一種簡便方法,來檢視檔案的編碼格式。雙擊右下角是可以更改編碼格式的。
保持編碼和解碼都是gbk格式,就可以得到我們需要的內容。
2、wb模式,往檔案中寫內容,寫入的也是bytes型別
現在就需要解決如何將str型別轉化為bytes型別,有兩種方法:
第一種方法:(比較常用)
第二種方法:
3、ab追加模式,往檔案的最後追加內容
知識點:
為什麼使用二進位制的方式去處理問題:
二進位制代表處理資料的方式,並不代表最終得到的內容(大前提)
通過檢視open原始碼,我們可知:
r的模式只是rt的簡寫,w的模式是wt的簡寫。
好處2:可以跨平台
windows和linux操作檔案都是使用的二進位制的格式
linux預設就是使用的二進位制處理的資料,而windows並不是
好處3:讀取速度更快,效率更高。
在讀取大檔案的時候,如果採用b模式,速度明顯更快。
檔案處理的b模式
b代表位元組bytes模式即位元組模式。以b模式讀取檔案時不能指定encoding,因為已近要求以位元組的模式開啟,但可以在開啟並讀取資料後解碼。字串通過編碼變為bytes,bytes通過解碼變為字串。轉為bytes的兩種方式 a bytes 被轉內容 encoding utf8 b 被轉內容 en...
python讀取檔案用b模式讀取
f open aaa rb 返回的是位元組 字串編碼 python中所有的字串編碼為unicode,如果從乙個檔案讀取字串,那麼該字串的編碼就是該檔案的編碼。f.tell 返回當前的游標位置。以位元組計算 返回位子引數例如 1 f open bbb r encoding gbk 2 print f....
檔案處理b模式與檔案操作的其它方法
檔案處理b模式 f open 笑納 rb encoding utf 8 b的方式不能指定編碼,位元組的形式讀取 f open 笑納 rb data f.read 在win系統中,換行其實是 r n linux系統是 n 字串 encode 位元組 位元組 decode 字串 print data.d...