我必须将字符串传递给xbee:
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 :(得分:2)
您可以使用struct
模块创建一个简单的便捷函数,将整数地址转换为xbee模块所需的二进制字符串格式(从您的示例中显示为big-endian unsigned short):
>>> import struct
>>> def make_address(addr):
... return struct.pack(">H", addr)
...
>>> make_address(1)
'\x00\x01'