解析或拆分pysnmp输出以更新到数据库

时间:2013-10-26 08:42:43

标签: python split pysnmp

我正在尝试将生成的PYSNMP数据存储到mysql数据库中。

生成的数据是元组或列表 - 我不确定。

我得到的输出是9016,但是当我希望将它保存到数据库时,它就像(OID(1.3.6.1.1.18443.1.1.), Integer(9016)。在我得到关于它的印刷值之后我就知道了这一点。

我尝试了output = re.split(r'', val)。这里val有上面提到的字符串/元组。

需要帮助才能获得整数数据。

1 个答案:

答案 0 :(得分:1)

pysnmp返回一系列双组件元组。这些组件是OID和值。这在SNMP中称为变量绑定。

所以你看到的可能是:

varBinds = [ (ObjectIdentifier('1.3.6.1.1.18443.1.1'), Integer(9016)) ]

这是一个变量绑定列表。

要在序列中保存第一个变量绑定的值部分,您可能需要:

varBind = varBinds[0]
oid, value = varBind
str(value)

int(value)

取决于数据库数据类型。