在python中打印十六进制字符串格式变量

在python中打印十六进制字符串格式变量,python,snmp,Python,Snmp,我正在使用NET-SNMP从路由器检索CDP邻居的十六进制字符串格式IP地址。然而,我得到了一些奇怪的东西。有什么帮助吗?谢谢你正如alecxe所提到的,你确实需要在提问时提供更多细节。幸运的是,我已经使用了Python的NET-SNMP绑定,并且已经知道您在谈论什么 要将从NET-SNMP绑定接收的二进制数据转换为十六进制表示,请使用Python模块。b2a_十六进制函数就是您要寻找的 以下内容大部分来自记忆,因此可能不完全正确,但可能足够接近,让您了解情况 import netsnmp im

我正在使用NET-SNMP从路由器检索CDP邻居的十六进制字符串格式IP地址。然而,我得到了一些奇怪的东西。有什么帮助吗?谢谢你

正如alecxe所提到的,你确实需要在提问时提供更多细节。幸运的是,我已经使用了Python的NET-SNMP绑定,并且已经知道您在谈论什么

要将从NET-SNMP绑定接收的二进制数据转换为十六进制表示,请使用Python模块。b2a_十六进制函数就是您要寻找的

以下内容大部分来自记忆,因此可能不完全正确,但可能足够接近,让您了解情况

import netsnmp
import binascii

session = netsnmp.Session(Community='public', DestHost='myagentip', Version=1)
vbwithbinarydata = netsnmp.VarBind('oid_to_binary_data')
varlist = netsnmp.Varlist(vbwithbinarydata)
session.get(varlist)
print binascii.b2a_hex(vbwithbinarydata.val)

你需要提供更多的细节:你正在使用的代码和你收到的东西。根据我的想法,IPAddress和IPv4地址存储为4个八位字节。您可能会得到IP地址的压缩二进制字符串值。尝试通过导入binascii运行“奇怪的东西”;打印binascii.hexlify(奇怪的东西)。酷。成功了。非常感谢。