0
以下代码适用于以2为值解压缩的情况。Python用变量值解包(Python 2.4.3是版本)
recvStruct = '>hhhBBhhB'
recvStructSize = (len(data) - struct.calcsize(recvStruct))/2
recvStruct = recvStruct + str(recvStructSize) + 'h'
recvStructSize = struct.calcsize(recvStruct)
recvFormat = '%s%dx' % (recvStruct, len(data) - recvStructSize)
TransID , ProtoColID, PacketLength, UnitID, FC, WriteAddress, WordCount, ByteCount, datavalues[0], datavalues[1] = struct.unpack(recvFormat, data)
但我希望将n个值写入数据值。他们是一种循环以外的方式吗?在一个单一的声明? TRANSID,ProtoColID,PacketLength,单元ID,FC,WriteAddress,字计数,BYTECOUNT,datavalues = struct.unpack(recvFormat,数据)
这是一种嵌入的Python 2.4
非常好的答案,谢谢。这些是我可以保持数据值不被调整大小的一种方式,可以说我有5个我想要放置的新值,并保留最后5个值(大小为10)。无论如何?对不起,我是新来的python,你回答教我 –
@JeffB我不明白,你能澄清吗? –
数据值是由这个语句重新定义的,我真的只想替换开始值 –