我想用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比较陌生。有人可以向我解释尖括号在每个字段类型定义中的用途是什么吗?
我一直在尝试使用以下文档来解决这个问题但完全陷入困境。
谢谢
答案 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))