snmp para python
Publicado por manuel lopez (3 intervenciones) el 03/08/2023 13:15:15
buenos días a todos estoy empezando en esto de python normalmente he programado con c# para empezar estoy intentando implementar un pequeño programa que monitoriza impresoras y he empezado a hace r pruebas con la libreria pysnmp.
Bien he implementado este pequeño codigo de prueba y no consigo que funcione da el error
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;TypeError: decodeMessageVersion.<locals>.<lambda>() takes 3 positional arguments but 4 were given
caused by <class 'TypeError'>: decodeMessageVersion.<locals>.<lambda>() takes 3 positional arguments but 4 were given
No se muy bien que esta pasando me parece que el código es correcto alguien me podria hechar una mano
from pysnmp.hlapi import Integer32, SnmpEngine, CommunityData, UdpTransportTarget,\
ContextData, ObjectType, ObjectIdentity, getCmd
iterator = getCmd(
SnmpEngine(),
CommunityData('public',mpModel=0),
UdpTransportTarget(('172.31.1.65',161)),
ContextData(),
ObjectType(ObjectIdentity('1.3.6.1.4.1.9.9.96.1.1.1.1.2.100'), Integer32(2))
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
if errorIndication:
print(errorIndication)
elif errorStatus:
print('{} at {}'.format(errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
for oid, val in varBinds:
print(f'{oid.prettyPrint()} = {val.prettyPrint()}')
Bien he implementado este pequeño codigo de prueba y no consigo que funcione da el error
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;TypeError: decodeMessageVersion.<locals>.<lambda>() takes 3 positional arguments but 4 were given
caused by <class 'TypeError'>: decodeMessageVersion.<locals>.<lambda>() takes 3 positional arguments but 4 were given
No se muy bien que esta pasando me parece que el código es correcto alguien me podria hechar una mano
from pysnmp.hlapi import Integer32, SnmpEngine, CommunityData, UdpTransportTarget,\
ContextData, ObjectType, ObjectIdentity, getCmd
iterator = getCmd(
SnmpEngine(),
CommunityData('public',mpModel=0),
UdpTransportTarget(('172.31.1.65',161)),
ContextData(),
ObjectType(ObjectIdentity('1.3.6.1.4.1.9.9.96.1.1.1.1.2.100'), Integer32(2))
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
if errorIndication:
print(errorIndication)
elif errorStatus:
print('{} at {}'.format(errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
for oid, val in varBinds:
print(f'{oid.prettyPrint()} = {val.prettyPrint()}')
Valora esta pregunta


0