python中rb含義理解
Python文件讀寫的幾種模式:
r,rb,w,wb 那么在讀寫文件時,有無b標(biāo)識的的主要區(qū)別在哪里呢?
文件使用方式標(biāo)識
- 'r':默認(rèn)值,表示從文件讀取數(shù)據(jù)
- 'w':表示要向文件寫入數(shù)據(jù),并截斷以前的內(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'會一直讀取文件末尾。
知識點擴(kuò)展:
- r是讀取人工書寫的數(shù)據(jù),書寫的時候是什么樣子,讀出來就是什么樣。
- rb是讀取二進(jìn)制文件,非人工書寫的數(shù)據(jù)如.jpeg等這些。
- 另外encoding可以指定解碼格式,utf-8是現(xiàn)在的主流編碼方式,如果沒有指定encoding 的方式那么根據(jù)python版本的不同會有不同的解碼方式,Python3中是utf-8,而python2中是ascii。
到此這篇關(guān)于python中rb含義理解的文章就介紹到這了,更多相關(guān)python中rb是什么意思內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對pytorch的函數(shù)中的group參數(shù)的作用介紹
今天小編就為大家分享一篇對pytorch的函數(shù)中的group參數(shù)的作用介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
關(guān)于Python 內(nèi)置庫 itertools
今天得這篇文章就來給大家介紹一下Python的系統(tǒng)庫itertools的 相關(guān)資料,需要的小伙伴可以參考下面文章的具體內(nèi)容2021-09-09
基于Python實現(xiàn)智能停車場車牌識別計費系統(tǒng)
這篇文章主要為大家介紹了如何利用Python實現(xiàn)一個智能停車場車牌識別計費系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下2022-04-04
python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解
這篇文章主要介紹了python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具詳解
這篇文章主要介紹了用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
python實現(xiàn)逆序輸出一個數(shù)字的示例講解
今天小編就為大家分享一篇python實現(xiàn)逆序輸出一個數(shù)字的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Django查找網(wǎng)站項目根目錄和對正則表達(dá)式的支持
這篇文章主要介紹了Django查找網(wǎng)站項目根目錄和對正則表達(dá)式的支持,僅供參考,需要的朋友可以參考下2015-07-07

