我想追加一個我計算的crc到現有的二進制文件。用Python追加數據字節到二進制文件
例如,crc是0x55667788。
我想追加0x55,0x66,0x77和0x88到文件的末尾。
例如,如果我在HexEdit中打開文件,文件 的最後四個字節將顯示0x55667788。
這裏是我到目前爲止的代碼:
fileopen = askopenfilename()
filename = open(fileopen, 'rb+')
filedata = filename.read()
filecrc32 = hex(binascii.crc32(filedata))
filename.seek(0,2)
filename.write(filecrc32)
filename.close()
我得到以下錯誤:
File "C:\Users\cjackel\openfile.py", line 9, in <module>
filename.write(filecrc32)
TypeError: 'str' does not support the buffer interface
有什麼建議?
你打開文件*二進制*模式,但正在嘗試寫入*文本*字符串。您需要首先爲字符串選擇編碼,或者編寫其他二進制數據。 – millimoose