0
我想通過python設置snmpset的值。如何使用python設置snmpset字符串或整數值?
import netsnmp
snmpcfgfile=netsnmp.Varbind(".1.3.6.1.4.1.171.12.1.2.18.1.1.5.3",
"switch.cfg","STRING")
netsnmp.snmpset(snmpcfgfile, Version=2, DestHost="10.0.112.4", Community="public")`
(2秒後看到錯誤):類型錯誤:期望的字符串或Unicode對象,NoneType發現
和值不被改變。
我該怎麼做?我應該如何使它正確?
跟蹤(請幫忙明白它的意思):
--Call--
> /usr/lib/python2.7/dist-packages/netsnmp/client.py(185)set()
-> def set(self, varlist):
(Pdb)
> /usr/lib/python2.7/dist-packages/netsnmp/client.py(186)set()
-> res = client_intf.set(self, varlist)
(Pdb)
--Call--
> /usr/lib/python2.7/dist-packages/netsnmp/client.py(94)__iter__()
-> def __iter__(self):
(Pdb)
> /usr/lib/python2.7/dist-packages/netsnmp/client.py(95)__iter__()
-> return iter(self.varbinds)
(Pdb)
--Return--
> /usr/lib/python2.7/dist-packages/netsnmp/client.py(95)__iter__()-><listite...c8096490>
-> return iter(self.varbinds)
(Pdb)
Traceback (most recent call last):
File "./snmp-set.py", line 7, in <module>
netsnmp.snmpset(snmpcfgfile, Version=2, DestHost="10.0.112.4", Community="public")
File "/usr/lib/python2.7/dist-packages/netsnmp/client.py", line 228, in snmpset
res = sess.set(var_list)
File "/usr/lib/python2.7/dist-packages/netsnmp/client.py", line 187, in set
return res
File "/usr/lib/python2.7/dist-packages/netsnmp/client.py", line 187, in set
return res
File "/usr/lib/python2.7/bdb.py", line 49, in trace_dispatch
return self.dispatch_line(frame)
File "/usr/lib/python2.7/bdb.py", line 67, in dispatch_line
self.user_line(frame)
File "/usr/lib/python2.7/pdb.py", line 157, in user_line
if self.bp_commands(frame):
File "/usr/lib/python2.7/pdb.py", line 167, in bp_commands
if getattr(self, "currentbp", False) and \
TypeError: expected string or Unicode object, NoneType found
向我們展示完整的代碼。 –
@ m170897017我編輯了問題。看它。在 – Dees7
這個問題中有一個完整的代碼,2秒延遲看起來像請求超時。你確定'公開'應該被用作社區字符串嗎? – pajaja