【发布时间】:2014-02-25 20:50:33
【问题描述】:
当我使用时:
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 (last last call last):\n', ' File "C:\Python27\lib\site -packages\pysnmp\smi\builder.py", 第 255 行, 在 loadModules\n exec(modData, g)\n', ' 文件 "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: name 'MibScalar' is not defined\n"]
代码:
def addFile(dir, file):
mibBuilder = cmdGen.snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder
mibSources = mibBuilder.getMibSources() + (
builder.DirMibSource(dir),
)
mibBuilder.setMibSources(*mibSources)
mibBuilder.loadModules(file)
【问题讨论】:
标签: pysnmp