我正在使用 Net-SNMP 进行 snmpget。具体来说,我通过 os.popen("etc") 发送命令。返回的值是一个用空格分隔的十六进制字符串,类似于:“A0 f0 D0”。返回的值有时以 :"Hex-String: A0 f0 D0.." 的形式出现,但有时以 "String:\xA0\xf0\xD0" 的形式出现,如您所见,空格用 "\ X”。有谁知道为什么会发生这种情况?如果返回值是带空格的 HEX 字符串,而不是 \x,我会更喜欢它。
我应该注意到我正在使用 Eclipse 和 Pydev。然后我在 pyscripter 中运行相同的代码并取回我的 Hex-String 值。我在 Pyscripter 中再次运行它,然后返回了 \x。这与未封闭的管道有关吗?
我还应该提到,我得到的数据在另一种意义上是不好的。带空格的十六进制字符串返回正确的数据值,但带 \xs 的字符串返回不正确的值。
我使用过 Wireshark,看起来 get 请求与从 MIB 发送的请求完全相同。MIB 请求返回正确数据,而 Eclipse 请求仍然返回错误数据。