0

scapy のアドオンを作成していて、問題が発生しました。元の scapy コードを少し変更する必要がありました (すべてのクラスがオブジェクトから継承されています)。変更されたコードは次の場所にあります: http://pastebin.com/pjcL1KJv

私が書いたコードは次のとおりです。

class Foo():
   array=[ BitField("foo",0x0,2),
           BitField("foo1",0x0,2),
           BitField("bar",0x0,2),
           BitField("blub",None,2)
 ]
def returnArr(a):  
      for i in a.array:
           print type(i.default)


if __name__ == "__main__":
    a=Foo()
    a.blub=0x23
    returnArr(a)

出力:

< type 'int'>

< type 'int'>

< type 'int'>

< type 'NoneType'>

私の質問: の 2 番目のパラメーターがBitField("foo",0x0,2)is0x0または何か他のものかどうかを検出することは可能ですか? 可能であれば、どうすればよいですか?そうでない場合、なぜですか?

4

2 に答える 2

1

2 番目のパラメーターは と呼ばれdefault、default とも呼ばれる属性として格納されます。

b = BitField("foo",0x0,2)
b.default   # 0
于 2011-07-14T12:18:45.603 に答える
0

.defaultBitField インスタンスのTry属性。

于 2011-07-14T12:19:29.503 に答える