2

私が使用する場合:

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)
4

3 に答える 3