2017-03-02 12 views

答えて

0

あなたの質問が正しく理解されていれば、名前のついた名前を使用することができます。 例を示します。ここで

from collections import namedtuple 
v1 = namedtuple("a1", "f1 f2"); 
var1 = v1(1, 2); 
v2 = namedtuple("a2", "v1 f3"); 
var2 = (var1, 3); 

が出力されます:

>>> print(var2) 
(a1(f1=1, f2=2), 3) 
1

あり、構造体の中に構造体をパックする組み込みの方法ではないようですが、あなたはそれを手動で行うことができます。

s= struct.Struct('hbB') 
t1= struct.Struct('h{}s'.format(s.size)) 

buffer= t1.pack(1, s.pack(2,3,4)) 

そして、それを解凍する:

loaded_t1= t1.unpack(buffer) 
loaded_s= s.unpack(loaded_t1[1]) 
その後、 sフォーマット文字を使用して、第2の構造体にそのバイナリデータをパックし、バイナリデータに最初の構造体をパック
関連する問題