我正在使用 scapy 并且有一个与 scapy 以及 python 相关的问题。我尝试使用变量作为 scapy 字段名称。这是一段代码,应该说明我尝试做的事情(它不起作用):
class Test(Packet):
name = "Test23"
def __init__(self,foo=None):
self.foo=foo
fields_desc = [
BitField(self.foo, 0x0, 4),
BitField("bar", 0x3, 4)
]
现在我想问题是由于 fields_desc 是类属性而不是类变量。现在,我怎样才能达到我想要的?(在运行时/类初始化时设置 self.foo 的名称?)
如果有任何帮助,我将不胜感激。最诚挚的问候
编辑:附加一个计数器就足够了。我试过:
class Counter:
count = 0
def __init__(self):
self.__class__.count += 1
foo = [
"lala"+str(count)
]
print foo
a=Counter()
a.count
print a.foo
b=Counter()
b.count
print b.foo
但似乎不起作用。如果你能指出我正确的方向会很酷,不知何故我迷路了。