python檔案處理b模式

2022-01-15 07:40:34 字數 1353 閱讀 6795

執行環境: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...