Python

时间:2016-06-11 10:21:44

标签: python scapy

我想用scapy制作包。在查看IP()类成员时,我遇到了以下代码习惯用法:

'fieldtype': {

    'frag': <Field (IP,IPerror).frag>, 
    'src': <Field (IP,IPerror).src>, 
    'proto': <Field (IP,IPerror).proto>, 
    'tos': <Field (IP,IPerror).tos>, 
    'dst': <Field (IP,IPerror).dst>, 
    'chksum': <Field (IP,IPerror).chksum>, 
    'len': <Field (IP,IPerror).len>, 
    'options': <Field (IP,IPerror).options>, 
    'version': <Field (IP,IPerror).version>, 
    'flags': <Field (IP,IPerror).flags>, 
    'ihl': <Field (IP,IPerror).ihl>, 
    'ttl': <Field (IP,IPerror).ttl>, 
    'id': <Field (IP,IPerror).id>}, 
    'time': 1465637588.477862, 
    'initialized': 1, 
    'overloaded_fields': {},

我对Python比较陌生。有人可以向我解释尖括号在每个字段类型定义中的用途是什么吗?

我一直在尝试使用以下文档来解决这个问题但完全陷入困境。

Scapy 2.3.1

谢谢

1 个答案:

答案 0 :(得分:1)

应用于Field实例时,

__repr__def __repr__(self): return "<Field (%s).%s>" % (",".join(x.__name__ for x in self.owners),self.name) 使用以下定义,这是非Python语法的来源。

contours = [np.zeros((10,), 'int32'), np.zeros((10,), 'int32')]
a = np.empty(len(contours), dtype=np.object)
for i in range(len(contours)):
    a[i] = contours[i]
print(a)
print()
print(repr(a))