Struct.Error, должен быть объект Bytes?
Я пытаюсь выполнить код:
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
Почему? Как это исправить?
Ответы
Ответ 1
С Python 3 'ab'
не является объектом bytes
, что называется str
на Python 2, оно unicode
. Вам необходимо использовать:
values = (1, b'ab', 2.7)
который сообщает Python, что 'ab'
является байтовым литералом. Подробнее см. PEP 3112.