記錄一下 python 如何輸出成二進位檔案。
我輸出二進位檔案的方法,採用的是 bytearray 這個函式。
我會先把我要輸出的數字,以 byte 為單位,先放入一個 list 陣列,然後將 list 陣列用 bytearray 轉成 byte 格式,寫入檔案:
我們用 Linux 的 xxd 指令 一個一個 byte 看一下輸出的檔案長什麼樣子:
在終端機輸入:
xxd -g1 -c1 ./tmp.bin
輸出結果:
00000000: ab .
00000001: cd .
00000002: ef .
我輸出二進位檔案的方法,採用的是 bytearray 這個函式。
我會先把我要輸出的數字,以 byte 為單位,先放入一個 list 陣列,然後將 list 陣列用 bytearray 轉成 byte 格式,寫入檔案:
#!/usr/bin/env python3 import struct def main(): outputFile = open("tmp.bin", "wb") byte_dat = [0xab, 0xcd, 0xef] binary_pack = bytearray(byte_dat) outputFile.write(binary_pack) outputFile.close() if(__name__ == "__main__"): main()
我們用 Linux 的 xxd 指令 一個一個 byte 看一下輸出的檔案長什麼樣子:
在終端機輸入:
xxd -g1 -c1 ./tmp.bin
輸出結果:
00000000: ab .
00000001: cd .
00000002: ef .
可知第一個 byte 是放在陣列 index 0 的位置,第二個 byte 是放在陣列 index 1 的位置,餘類推。
留言
張貼留言