我是python的新手。
我正在接收(通过pyserial)带有数据值的字符串。如何将这些数据解析为特定的数据结构?
我知道
0-1 byte : id
2-5 byte : time1 =>but little endian (lsb first)
6-9 byte : time2 =>but little endian (lsb first)我在找一个函数:
def parse_data(string):
data={}
data['id'] = ??
data['time1'] = ??
data['time2'] = ??
return data谢谢
发布于 2010-06-02 16:13:02
struct module应该就是你要找的东西。
import struct
# ...
data['id'], data['time1'], data['time2'] = struct.unpack("<HII", string)在格式字符串中,<表示“将所有内容解释为小端,并且不使用本地对齐”,H表示"unsigned short“,I表示"unsigned int”。
发布于 2010-06-02 16:21:25
import struct
def parse_data(string):
return dict(zip(['id','time','time2'],struct.unpack("<HII", string)))https://stackoverflow.com/questions/2955918
复制相似问题