我目前正在使用基於PySnmp的Python 3(Python 3.1.3)中的SNMP模塊來輕鬆發送來自其他程序的GET/WALK SNMP查詢。這主要是爲了好玩/學習。如何識別Python中的「NoSuchObject」?
當查詢現有的OID,我得到一個元組,如:
(ObjectName(1.3.6.1.2.1.1.7.0), Integer(72))
,我可以閱讀使用「爲」建設。
但是,查詢不存在的OID時(這是我的單元測試做),我得到:
(ObjectName(2.3.4.5.6.7.8), NoSuchObject('b'''))
我如何區分「正常」的情況下,其中的第二個元素元組是一個整數/字符串/(其他?)和「錯誤」的情況下,第二個元素是「NoSuchObject」?
當我嘗試這些時,它失敗了: 'NameError:全球名稱'NoSuchObject'未定義' 然後我意識到我的代碼不知道'NoSuchObject'是什麼。它在我做後像一個魅力: 'from pysnmp.proto.rfc1905 import NoSuchObject' 明白了,thx! – Httqm 2013-04-23 21:07:32