Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法更新python netsnmpagent中的表项_Python_C_Snmp_Agent_Net Snmp - Fatal编程技术网

无法更新python netsnmpagent中的表项

无法更新python netsnmpagent中的表项,python,c,snmp,agent,net-snmp,Python,C,Snmp,Agent,Net Snmp,我使用python netsnmpagent模块。我已经使用了下面链接中的原始netsnmp库示例 这个例子可以更新表格,通过下面的命令,它可以像一个符咒一样工作 snmpwalk -v 2c -c public -mPATH/TO/MY-MIB/MY-NET-SNMP-EXAMPLES-MIB.txt localhost:5555 netSnmpIETFWGTable NET-SNMP-EXAMPLES-MIB::nsIETFWGChair1."snmpv3" = STRING: "str

我使用python netsnmpagent模块。我已经使用了下面链接中的原始netsnmp库示例

这个例子可以更新表格,通过下面的命令,它可以像一个符咒一样工作

snmpwalk  -v 2c -c public -mPATH/TO/MY-MIB/MY-NET-SNMP-EXAMPLES-MIB.txt localhost:5555 netSnmpIETFWGTable
NET-SNMP-EXAMPLES-MIB::nsIETFWGChair1."snmpv3" = STRING: "string1"
NET-SNMP-EXAMPLES-MIB::nsIETFWGChair2."snmpv3" = STRING: "string2"
但当我使用下面链接上的python netsnmpagent示例时

更新以下显示的表格条目错误:

snmpset -v 2c -c simple -mPATH/TO/MY-MIB/MY-NET-SNMP-EXAMPLES-MIB.txt localhost:5555 MY-NET-SNMP-EXAMPLES-MIB::nsIETFWGChair1.\"snmpv3\" s "STRING"
 Error in packet.
 Reason: notWritable (That object does not support modification)
 Failed object: MY-NET-SNMP-EXAMPLES-MIB::nsIETFWGChair1."snmpv3" 
有人能帮我吗

你好

您没有表的写访问权限,因为您在创建表时没有启用此访问权限。使用此修补程序可启用此访问

diff --git a/examples/simple_agent.py b/examples/simple_agent.py
index ba809ff..abbfa53 100755
--- a/examples/simple_agent.py
+++ b/examples/simple_agent.py
@@ -143,12 +143,13 @@ firstTable = agent.Table(
        agent.DisplayString()
    ],
    columns = [
-       (2, agent.DisplayString("Unknown place")),
-       (3, agent.Integer32(0))
+       (2, agent.DisplayString("Unknown place"), 1),
+       (3, agent.Integer32(0), 1)
    ],
    counterobj = agent.Unsigned32(
        oidstr = "SIMPLE-MIB::firstTableNumber"
-   )
+   ),
+        extendable = True
 )

 # Add the first table row

祝你好运

为什么使用C标记?因为python Netsnmpage模块是netsnmp的C库的包装器。我认为这个问题起源于c包装器。那么,所有东西都是围绕着一些c东西的包装器吗?;-)可能是的,但并非所有内容都是NetSNMP c库的包装器。;-)