私が使用する場合:
build-pysnmp-mib -o iSCSI_RAID_Rack-1.2.1.py iSCSI_RAID_Rack-1.2.1.mib
.mib ファイルを .py ファイルに変換するには、エラーなしで変換します。Python でファイルを読み込もうとすると、次のエラーが発生します。
エラー:
「NameError: 名前 'MibScalar' が定義されていません
完全なエラー:
ファイル "C:\Python27\lib\site-packages\pysnmp\smi\builder.py"、259 行目、loadModules 'MIB モジュール \"%s\" の読み込みエラー: %s' % (modPath, traceback.format_exception( *sys.exc_info())) SmiError: MIB モジュール "C:\Python27\snmp\MIB\iSCSI_RAID_Rack-1.2.1.pyc" ロード エラー: ['Traceback (最新の呼び出しが最後):\n', ' File " C:\Python27\lib\site-packages\pysnmp\smi\builder.py", line 255, in loadModules\n exec(modData, g)\n', ' File "C:\Python27\snmp\MIB\iSCSI_RAID_Rack -1.2.1.py"、27 行目、\n sys_status_temp = MibScalar((1, 3, 6, 1, 4, 1, 22274, 1, 1, 1, 2), DisplayString()).setMaxAccess(" readonly").setLabel("sys-status-temp")\n', "NameError: 名前 'MibScalar' が定義されていません\n"]
コード:
def addFile(dir, file):
mibBuilder = cmdGen.snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder
mibSources = mibBuilder.getMibSources() + (
builder.DirMibSource(dir),
)
mibBuilder.setMibSources(*mibSources)
mibBuilder.loadModules(file)