如何在Python中讀取(或寫入)二進位資料?

WBOY
發布: 2023-09-03 08:57:20
轉載
1768 人瀏覽過

要讀取或寫入二進位文件,首先您需要了解 Python 中二進位檔案的不同檔案模式 -

模式 描述
rb 開啟一個檔案以只讀二進位格式。文件指針位於文件的開頭。這是預設模式。
rb 開啟一個檔案以二進位格式進行讀寫。文件指針放置在文件的開頭。
wb #開啟僅以二進位格式寫入的檔案。如果檔案存在則覆蓋該檔案。如果該檔案不存在,則建立一個新檔案進行寫入。
wb 開啟一個檔案以二進位格式進行寫入和讀取。如果文件存在,則覆蓋現有文件。如果文件不存在,則建立一個新文件進行讀寫。
ab 開啟一個檔案以二進位格式追加。如果文件存在,則文件指標位於文件末端。也就是說,該檔案處於追加模式。如果該檔案不存在,則會建立一個新檔案進行寫入。
ab 開啟檔案以二進位格式追加和讀取。如果文件存在,則文件指標位於文件末端。檔案以追加模式開啟。如果該檔案不存在,則會建立一個新檔案進行讀寫。

讀取二進位檔案

假設我們有一個二進位。我們可以使用 read() 方法來讀取它。首先,我們將使用 open() 方法的 rb 模式開啟二進位。我們在 D: 磁碟機中有以下原始檔案 -

如何在Python中讀取(或寫入)二進位資料?

#範例

讓我們看看完整的程式碼

# Open a binary file
f = open('D:\PythonLogo.png', 'rb')

# Read lines
data = f.read()

# Display the data
print(data)
登入後複製

輸出

二進位檔案不可讀,內容無法辨識。實際產量更大。下面我們只展示了一部分。

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x04\xb0\x00\x00\x04\xb0\x08\x06\x00\x00\x00
\xeb!\xb3\xcf\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00
cHRM\x00\x00z&\x00\x00\x80\x84\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\x0
0\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x
93\x00\x00\x00\x07tIME\x07\xe1\x08\n\x07\x16\x07\xc9\xb2\xff\xd3\x00\x00\x80\x00IDATx\xda\
xec\x9dw\xbc]e\x95\xf7\x7f\xcf>\xe7\xa6\x91@\xe8\xc5\x02\xa2\x88\x14q0B\x12\xc0\x99\x00!\x
88(\x02\x9a\x8c\x85"\xea\x80b\xc5\x02\xa1\xf8z\xa78\x8aJ\x13EeF\x1d\xdb\x94\x80@\x08\xea\x
a0\x8c\xe0\x0c\x98\x10`\x94\x92\xd0D@,#\x88\xd4\x90r\xef\xd9\xeb\xfd#\x01\x02i\xe7\x9e\xb3
\xcb\xf3\xac\xfd\xfd~>\xef;
.
.
.
\xcdn\xd2d\xb1Q\xdf\xfa\xe9\x8d|\x8f\x14\x00\x00\x00\xb4\t\x02\x0b\x00\x00\x00\xe0Q\x98\xa
9\xd0\xd5\xc7\x1c$Izp\xee>\x9a\xd8\xfa\x98\x1d\xffdr\x7f\x153\x8f\xfa\xf8\xa3\xcdQJ\x07\xec\x
e5\xc8\xf5X\x95\x96\x1eu\n\xdb\xac\xa4-
{\xf9{\xdbe\xf6\xc0#\xfe\xa7\t\xdd\xaf\xed\x9a\xd9\xd1\xf5\xe4\x83\xdawf\xc7w>m\xdb\xbc5-
X\xff
\xb3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd02\xff?\xca\x9f\x86X\x17m\x83=\
x00\x00\x00%tEXtdate:create\x002017-08-
10T07:22:07+00:00u\xea\xe6c\x00\x00\x00%tEXtdate:modify\x002017-08-
10T07:22:07+00:00\x04\xb7^\xdf\x00\x00\x00\x00IEND\xaeB`\x82'
登入後複製

寫入二進位檔案

open()方法的wb模式用於以寫入格式開啟檔案。

注意 - 二進位檔案不可讀,內容無法辨識

讓我們看一下完整的範例。在這裡,檔案將儲存在E磁碟中,名稱為

範例

MyDemoBinary.bin -

# Open a file in binary format for writing
f = open("E:\MyDemoBinary.bin","wb")

# Elements to be added to the binary file
a = [100, 200, 300]

# Convert the integer elements to a bytearray
myArr = bytearray(a)

# The byte representation ius now written to the file
f.write(myArr)
f.close()
登入後複製

輸出

運行檔案後,檔案在設定的路徑即E磁碟中可見 -

如何在Python中讀取(或寫入)二進位資料?

#

以上是如何在Python中讀取(或寫入)二進位資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!