【问题标题】:Accessing field name with hyphen in python nicely在python中很好地使用连字符访问字段名称
【发布时间】:2018-02-22 19:59:27
【问题描述】:

直升机,

我正在使用 scapy-http 库 https://github.com/invernizzi/scapy-http 来访问 scapy 中的 http 层。

现在我知道我们可以通过packet[layer]访问特定层,然后我们可以通过packet[layer].field访问该层中的特定字段。

问题出在这个库中,有些字段(比如Content-Length)包含连字符,所以称这个字段为

packet[layer].Content-Location

会报错。

感谢任何帮助。

谢谢

【问题讨论】:

  • 数据包[layer]["Content-Location"] 不起作用吗?

标签: python http scapy hyphen


【解决方案1】:

没有“干净”的方法可以做到这一点。如果可能,最好的选择是更改协议描述中的字段名称。

最好的办法大概是:

getattr(packet[layer], "Content-Location")

【讨论】:

  • 是的,这行得通,谢谢,但就像你说的它不是很干净.....我想那时没有干净的方法。
  • 它确实不是很干净,但它是迄今为止最干净的方式(如果更改字段名称不是一个选项)。它返回的是你想要的值,而不是字段对象。
  • 是的,同意。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 2022-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
相关资源
最近更新 更多