我正在尝试执行代码:
values = (1, 'ab', 2.7)
s.struct.Struct('I 2s f')
packed = s.pack(*values)
但我一直收到错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
struct.error: argument for 's' must be a bytes object
为什么呢?我该如何解决这个问题?
答案 0 :(得分:25)
使用Python 3,'ab'
不是bytes
对象,在Python 2上称为str
,它是unicode
。你需要使用:
values = (1, b'ab', 2.7)
告诉Python 'ab'
是一个字节文字。有关详细信息,请参阅PEP 3112。