現在、他のプログラムから GET/WALK SNMP クエリを簡単に送信するために、PySnmp に基づく Python 3 (Python 3.1.3) の SNMP モジュールに取り組んでいます。これは主に楽しみ/学習用です。
既存の OID を照会すると、次のようなタプルが得られます。
(ObjectName(1.3.6.1.2.1.1.7.0), Integer(72))
「for」構文を使用して読み取ることができます。
ただし、存在しない OID をクエリすると (これは単体テストで行うことです)、次のようになります。
(ObjectName(2.3.4.5.6.7.8), NoSuchObject('b'''))
タプルの 2 番目の要素が integer/string/(other?) である「通常」のケースと、この 2 番目の要素が 'NoSuchObject' である「エラー」のケースを区別するにはどうすればよいですか?