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値をデータ値に入力したいとします。彼らはループ以外の方法ですか? 1つの声明で行うことは? TRANSID、ProtoColID、PacketLength、UNITID、FC、書き込みアドレス、WORDCOUNT、:バイト、datavalues = struct.unpack(recvFormat、データ)これは埋め込まれたPythonの2.4
非常に良い答え、ありがとう。これらは私がデータ値のサイズを変更しないようにする方法ですか?私は5つの新しい値を置いて最後の5つを保持しています(サイズは10でした)。とにかくありますか?申し訳ありませんが、私はPythonに新しいです、あなたは答えます –
@ JeffB私は理解していない、あなたが明確にできますか? –
datavaluesはこのステートメントで再定義されています。最初の値を置き換えたいだけです –