您的位置:首頁技術文章
文章詳情頁

python中rb含義理解

瀏覽:8日期:2022-07-20 14:38:00

Python文件讀寫的幾種模式:

r,rb,w,wb 那么在讀寫文件時,有無b標識的的主要區別在哪里呢?

文件使用方式標識

’r’:默認值,表示從文件讀取數據 ’w’:表示要向文件寫入數據,并截斷以前的內容 ’a’:表示要向文件寫入數據,添加到當前內容尾部 ’r+’:表示對文件進行可讀寫操作(刪除以前的所有數據) ’r+a’:表示對文件可進行讀寫操作(添加到當前文件尾部) ’b’:表示要讀寫二進制數據。

讀文件 進行讀文件操作時,直到讀到文檔結束符(EOF)才算讀取到文件最后,Python會認為字節x1A(26)轉換成的字符為文檔結束符(EOF),

故使用’r’進行讀取二進制文件時,可能會出現文檔讀取不全的現象。

示例:

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

如果使用’r’進行讀取,則讀到第三個字節,即認為文件結束。

如果使用’rb’按照二進制位進行讀取的,不會將讀取的字節轉換成字符,從而避免了上面的錯誤。

解決方案:

二進制文件就用二進制方法讀取’rb’

總結:

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

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

知識點擴展:

r是讀取人工書寫的數據,書寫的時候是什么樣子,讀出來就是什么樣。 rb是讀取二進制文件,非人工書寫的數據如.jpeg等這些。 另外encoding可以指定解碼格式,utf-8是現在的主流編碼方式,如果沒有指定encoding 的方式那么根據python版本的不同會有不同的解碼方式,Python3中是utf-8,而python2中是ascii。

到此這篇關于python中rb含義理解的文章就介紹到這了,更多相關python中rb是什么意思內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
国产综合久久一区二区三区