我用python写了一个小程序,我也是python的新手。
在我的一堂课中,我有以下命名的元组成员。
WLinkResponses = collections.namedtuple('WLinkResponse',
['stx', 'seq', 'senderID', 'receiverID', 'ins', 'dataSize', 'payLoad'])
上述命名元组变量中所有字段的数据类型是具有固定数量大小的byteArray。
现在,我需要将另一个名为“ wLinkMessage”的字节数组复制到此命名元组中。但是我的副本应该为命名元组的每个字段分配正确的值。
因为我知道每个文件的大小,所以我可以通过迭代源字节数组来手动进行复制并将该值分配给命名元组字段。但是,完成此任务需要很多行,如下所示。
self.WLinkResponses.stx = wLinkMessage[0:1]
self.WLinkResponses.seq= wLinkMessage[2:3]
self.WLinkResponses.senderID = wLinkMessage[4:7]
self.WLinkResponses.ReceiverID = wLinkMessage[8:9]
self.WLinkResponses.ins= wLinkMessage[10:12]
self.WLinkResponses.dataSize = wLinkMessage[13:15]
self.WLinkResponses.payLoad=wLinkMessage[16:len(wLinkMessage)]
因此,有任何方法可以将每个字段的大小定义到命名元组中,因此我们可以将其直接从字节数组复制到命名元组中。