簡體   English   中英

Python中的字符串打包解包

[英]String packing unpacking in Python

我面臨以下錯誤。

Traceback (most recent call last):
  File "Thread_main.py", line 681, in <module>

    fdata = struct.unpack('f', str(AObytes[i:i+3]))

struct.error: unpack requires a string argument of length 4

這是給出錯誤的代碼行。

for i in range(640,8196,4):             
### === This AO bytes mapping is till for all AOS data , Last bytes are   8192,8193,8194,8195
fdata = struct.unpack('f', str(AObytes[i:i+4]))
AOSID[aop1] = fdata[0]                      
aop1 =aop1+1        

我在頂部定義了 Aobytes。 AObytes = [0]*8200

str(AObytes[i:i+4])是 "[a, b, c, d]" 所以它是一個包含 12 個字符或更多字符的字符串......

也許你想要這樣的東西:

fdata = struct.unpack('f', " ".join(str(x) for x in AObytes[i:i+4]))
fdata = fdata.split()

希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM