2016-01-07 3 views
0

В документации pysnmp есть класс getCmd, мне было интересно, можно ли просто создать экземпляр класса один раз и повторно использовать его позже, передав ему новые oids. Я не уверен, что класс getCmd предоставляет методы, позволяющие мне изменять oids.Reuse getCmd object в pysnmp

http://pysnmp.sourceforge.net/docs/hlapi/asyncore/sync/manager/cmdgen/getcmd.html

ответ

0

Название getCmd ссылается на функцию, а не класс. Технически, это генератор, но это не важно здесь.

Это недорого для вызова * Cmd(), потому что все функции тяжелого подъема и управления состоянием выполняются на объекте SnmpEngine (первый аргумент getCmd). Таким образом, с точки зрения производительности важно сохранить объект SnmpEngine как можно более настойчивым.

>>> from pysnmp.hlapi.asyncore import * 
>>> snmpEngine = SnmpEngine() 
>>> for oid in ['1.3.6.1.2.1.2.2.1.8.1', '1.3.6.1.2.1.2.2.1.8.2']: 
...  g = getCmd(snmpEngine, 
...    CommunityData('public'), 
...    UdpTransportTarget(('demo.snmplabs.com', 161)), 
...    ContextData(), 
...    ObjectType(ObjectIdentity(oid))) 
>>>  print(next(g)) 
Смежные вопросы