Я пишу небольшую программу на python, и я также новичок в python.
В одном из моих классов у меня есть следующий именованный член кортежа.
WLinkResponses = collections.namedtuple('WLinkResponse',
['stx', 'seq', 'senderID', 'receiverID', 'ins', 'dataSize', 'payLoad'])
типы данныхиз всех полей в названной выше переменной tuple являются 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)]
, поэтому есть ли способ определить размер каждого поля в именованном кортеже, поэтому мы можем скопировать его напрямуюиз байтового массива в именованный кортеж.