十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家分享的是有關python中rb指的是什么意思的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
目前創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設計、浮梁網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
Python文件讀寫的幾種模式:
r,rb,w,wb 那么在讀寫文件時,有無b標識的的主要區(qū)別在哪里呢?
文件使用方式標識
'r':默認值,表示從文件讀取數(shù)據(jù)
'w':表示要向文件寫入數(shù)據(jù),并截斷以前的內(nèi)容
'a':表示要向文件寫入數(shù)據(jù),添加到當前內(nèi)容尾部
'r+':表示對文件進行可讀寫操作(刪除以前的所有數(shù)據(jù))
'r+a':表示對文件可進行讀寫操作(添加到當前文件尾部)
'b':表示要讀寫二進制數(shù)據(jù)。
讀文件 進行讀文件操作時,直到讀到文檔結(jié)束符(EOF)才算讀取到文件最后,Python會認為字節(jié)\x1A(26)轉(zhuǎn)換成的字符為文檔結(jié)束符(EOF),
故使用'r'進行讀取二進制文件時,可能會出現(xiàn)文檔讀取不全的現(xiàn)象。
示例:
二進制文件中存在如下從低位向高位排列的數(shù)據(jù):7F 32 1A 2F 3D 2C 12 2E 76
如果使用'r'進行讀取,則讀到第三個字節(jié),即認為文件結(jié)束。
如果使用'rb'按照二進制位進行讀取的,不會將讀取的字節(jié)轉(zhuǎn)換成字符,從而避免了上面的錯誤。
解決方案:
二進制文件就用二進制方法讀取'rb'
總結(jié):
使用'r'的時候,如果碰到'0x1A',就視為文件結(jié)束,就是EOF。使用'rb'則不存在這個問題,
即:如果你用二進制寫入再用文件讀出的話,如果其中存在'0x1A',就只會讀出文件的一部分,使用'rb'會一直讀取文件末尾。
感謝各位的閱讀!關于python中rb指的是什么意思就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!