0
在pysnmp文檔中有一個getCmd類,我想知道是否可以實例化這個類並在稍後通過傳遞新的oid來重用它。我不確定getCmd類是否暴露了允許我更改oid的方法。在pysnmp中重複使用getCmd對象
http://pysnmp.sourceforge.net/docs/hlapi/asyncore/sync/manager/cmdgen/getcmd.html
在pysnmp文檔中有一個getCmd類,我想知道是否可以實例化這個類並在稍後通過傳遞新的oid來重用它。我不確定getCmd類是否暴露了允許我更改oid的方法。在pysnmp中重複使用getCmd對象
http://pysnmp.sourceforge.net/docs/hlapi/asyncore/sync/manager/cmdgen/getcmd.html
的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))