0
我目前正在嘗試修復我正在開發的包中的一個錯誤。這個問題似乎是拋出錯誤的struct.pack功能:「s」的struct - 參數必須是字節對象,但已經是字節對象
struct.error: argument for 's' must be a bytes object
我試圖使用規定的其他SO回答頁面這個錯誤的答案,但似乎無法得到任何工作,並且錯誤仍然存在。
下面是我一直在處理的輸出由複製錯誤的包中輸入一個簡化版本:
import struct
second_arg = b'LASF_Projection\x00'
print(type(second_arg))
struct.pack("<ssssssssssssssss", *second_arg)
這將導致輸出:
<class 'bytes'>
Traceback (most recent call last):
File "C:/pyfor/anothersandbox.py", line 7, in <module>
struct.pack(b"<ssssssssssssssss", *second_arg)
struct.error: argument for 's' must be a bytes object
我懷疑當解壓時,* second_arg不再是字節格式,而是拋出錯誤。這個懷疑是否正確,如果是的話,是否有可能將second_arg的解壓縮部分轉換爲字節格式?
當你解壓'bytes'時,你得到'int's,和迭代'bytes'時一樣。 – ShadowRanger
你對這些數據有什麼期望的結果? 'pack(「<16s」,second_arg)''但是它給出了相同的'b'LASF_Projection \ x00'' – furas