我有一个要返回的snmpoid列表,但是我不能用该变量替换命令中的oid。我甚至尝试过在eval中包装变量,并结合ObjectType和ObjectIdentity,但没有成功。在
我从here获取了基本配置模板,并为我的目的进行了编辑。在
以下是完整的配置块:
cmdGen = cmdgen.CommandGenerator()
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.getCmd(
cmdgen.UsmUserData(user,
authKey=authKe,
privKey=privKe,
authProtocol=authProto,
privProtocol=privProto,
securityEngineId=None
),
cmdgen.UdpTransportTarget((sHost, 161)),
(_OID),
以下替换代替(_OID),
所有工作:
以上所有内容都可以单独添加为一个完整的块,也可以是任何其他组合。iod变量接受OID列表并将其转换为如下形式的字符串:'1.3.6.1.2.1.1.1.0', '1.3.6.1.2.1.1.4.0', '1.3.6.1.2.1.1.5.0', '1.3.6.1.2.1.1.6.0',
。我怀疑甚至有一种方法可以直接使用这个列表。在
我知道我可以在for
中包装getCmd来完成这项工作,而且,只要事先实例化引擎,性能就不会受到太大的影响,这是有文档记录的here,但我喜欢cmdgen方法,因为它是干净的,我怀疑包装这将是昂贵的。在
如何使用\u OID变量动态设置所需的OID?在
pysnmp版本4.4.4
如果序列中有位置参数,只需使用
*
运算符将它们解压为函数的位置参数。在相关问题 更多 >
编程相关推荐