溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中rb指的是什么意思

發(fā)布時間:2020-11-20 11:59:32 來源:億速云 閱讀:303 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)python中rb指的是什么意思的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

Python文件讀寫的幾種模式:

r,rb,w,wb 那么在讀寫文件時,有無b標(biāo)識的的主要區(qū)別在哪里呢?

文件使用方式標(biāo)識

'r':默認(rèn)值,表示從文件讀取數(shù)據(jù)
'w':表示要向文件寫入數(shù)據(jù),并截?cái)嘁郧暗膬?nèi)容
'a':表示要向文件寫入數(shù)據(jù),添加到當(dāng)前內(nèi)容尾部
'r+':表示對文件進(jìn)行可讀寫操作(刪除以前的所有數(shù)據(jù))
'r+a':表示對文件可進(jìn)行讀寫操作(添加到當(dāng)前文件尾部)
'b':表示要讀寫二進(jìn)制數(shù)據(jù)。

讀文件 進(jìn)行讀文件操作時,直到讀到文檔結(jié)束符(EOF)才算讀取到文件最后,Python會認(rèn)為字節(jié)\x1A(26)轉(zhuǎn)換成的字符為文檔結(jié)束符(EOF),

故使用'r'進(jìn)行讀取二進(jìn)制文件時,可能會出現(xiàn)文檔讀取不全的現(xiàn)象。

示例:

二進(jìn)制文件中存在如下從低位向高位排列的數(shù)據(jù):7F 32 1A 2F 3D 2C 12 2E 76

如果使用'r'進(jìn)行讀取,則讀到第三個字節(jié),即認(rèn)為文件結(jié)束。

如果使用'rb'按照二進(jìn)制位進(jìn)行讀取的,不會將讀取的字節(jié)轉(zhuǎn)換成字符,從而避免了上面的錯誤。

解決方案:

二進(jìn)制文件就用二進(jìn)制方法讀取'rb'

總結(jié):

使用'r'的時候,如果碰到'0x1A',就視為文件結(jié)束,就是EOF。使用'rb'則不存在這個問題,

即:如果你用二進(jìn)制寫入再用文件讀出的話,如果其中存在'0x1A',就只會讀出文件的一部分,使用'rb'會一直讀取文件末尾。

感謝各位的閱讀!關(guān)于python中rb指的是什么意思就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI