檔案處理的b模式

2021-09-01 22:28:20 字數 1361 閱讀 3364

b代表位元組bytes模式即位元組模式。

以b模式讀取檔案時不能指定encoding,因為已近要求以位元組的模式開啟,但可以在開啟並讀取資料後解碼。

字串通過編碼變為bytes,bytes通過解碼變為字串。

轉為bytes的兩種方式:

a =

bytes

("被轉內容"

, encoding=

"utf8"

)b =

"被轉內容"

.encode(

"utf8"

)print

(a, b)

位元組模式存在的意義:

1.open語句預設以t的方式開啟檔案,即"rt"、「wt」、"at"的方式開啟檔案,如果檔案不是文字形式的資料則無法以t的方式開啟,但是可以以位元組模式開啟。

2.位元組資料可以跨平台傳輸和處理。

3.b模式對linux系統的作用不大,因為linux系統預設就是以位元組的方式處理資料的,對windows系統作用較大。

例項

位元組模式的讀取

讀取出來的是位元組形式,想要得出位元組對應的內容則必須指定解碼方式。

#當前目錄下有test1.py檔案且檔案有內容

f =open

("test1.py"

,"rb"

)data = f.read(

)print

(data)

print

(data.decode(

"utf8"

)f.close(

)

位元組模式的寫入

寫入的內容必須是位元組的形式,利用bytes()函式或字串的.encode()方法都可以將目標字串轉化為編碼。

f =

open

("test2"

,"wb"

)f.write(

bytes

("hello\n"

, encoding=

"utf8"))

f.write(

"實驗內容"

.encode(

"utf8"))

f.close(

)

位元組模式的追加

同位元組寫模式要求相同,只是追加在檔案末尾。

#當前目錄下有test3檔案且檔案有內容

f =open

("test3"

,"ab"

)f.write(

"實驗實驗實驗"

.encode(

"utf8"))

f.close(

)

python檔案處理b模式

執行環境 windows python3.5 1 rb模式,從檔案中讀取內容,得到的是bytes型別 因為我們使用的是b模式,所以在open函式中不能指定編碼格式,所以列印出來的格式的二進位制的格式,而我們需要得到str型別 這裡我們講一下,一種簡便方法,來檢視檔案的編碼格式。雙擊右下角是可以更改編...

檔案處理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...

檔案的操作模式 x模式和b模式

演示1 with open a.txt mode x encoding utf 8 as f pass 增加新空檔案 a.txt 演示2 with open c.txt mode x encoding utf 8 as f f.read 增加新空檔案 c.txt 報錯 演示3 with open d...