我正在尝试获取原始格式OID值的MIB。使用lookupNames = False, lookupValues = False我得到了想要的东西,但是当尝试这样做时,可以说CSV格式:

(pname, pval) = (name.prettyPrint(), val.prettyPrint())


prettyPrint更改值:

# name: 1.3.6.1.2.1.15.3.1.4.30.30.24.4

# pname: RFC1213-MIB::mib-2.15.3.1.4.30.30.24.4


有什么办法可以避免这种情况,只获取完整的数字OID?

我有pysnmp(4.3.9)。

最佳答案

我建议您使用带有单个lookupMib=False参数的pysnmp hlapi API,对于pysnmp 4.3.9,它似乎会生成纯OID。

另外,还有一种方法可以完全摆脱SNMP类型。您可以在OID值上调用tuple(),以便获得一个整数子OID的元组。同样,您可以在数字SNMP值上调用int,在字符串SNMP值上调用str,以获取内置类型的Python对象。要注意的是,您首先必须figure out处理您的SNMP类型以进行适当的类型转换。

关于python - pysnmp prettyPrint转换OID名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45562811/

10-12 19:28