2015-05-06 3 views
0

Я должен передать строку в XBee:Python Строка Bytes

xbee.tx(dest_addr='\x00\x01', data='hello world') 

Я хотел бы просто ввести строку или целое число, как 01, но потом я получаю сообщение: The data provided for 'dest_addr' was not 2 bytes long

Я использую Python 2.7

Как это можно решить? Благодарю.

+0

Можете ли вы опубликовать полную трассу? – User

ответ

2

Вы можете создать простую функцию удобства использования struct модуль для преобразования целочисленных адреса в двоичный формат строки, что модуль XBee хочет (который появляется из вашего примера будет большой обратный порядок байт без знака краткости):

>>> import struct 
>>> def make_address(addr): 
...  return struct.pack(">H", addr) 
... 
>>> make_address(1) 
'\x00\x01' 

 Смежные вопросы

  • Нет связанных вопросов^_^