PySNMP缺少文件

2024-10-02 18:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我找到了以下将自定义MIB导入PySNMP的示例脚本:

import pysnmp
from pysmi.reader import FileReader, HttpReader
from pysmi.searcher import StubSearcher
from pysmi.writer import CallbackWriter
from pysmi.parser import SmiStarParser
from pysmi.codegen import JsonCodeGen
from pysmi.compiler import MibCompiler
# from pysmi import debug

# debug.setLogger(debug.Debug('reader', 'compiler'))

inputMibs = ['***.mib']
srcDirectories = ['C:/PROJECT/SNMPTest/Venv']

def printOut(mibName, jsonDoc, cbCtx):
    print('\n\n# MIB module %s' % mibName)
    print(jsonDoc)

# Initialize compiler infrastructure

mibCompiler = MibCompiler(
    SmiStarParser(), JsonCodeGen(), CallbackWriter(printOut)
)

# search for source MIBs here
mibCompiler.addSources(*[FileReader(x) for x in srcDirectories])
print('Step0')
# never recompile MIBs with MACROs
mibCompiler.addSearchers(StubSearcher(*JsonCodeGen.baseMibs))
print('Step1')
# run recursive MIB compilation
results = mibCompiler.compile(*inputMibs)

print('\n# Results: %s' % ', '.join(['%s:%s' % (x, results[x]) for x in results]))

返回以下内容:

结果:SNMPv2配置:缺失,SNMPv2 SMI:缺失,SNMPv2 TC:缺失,MyMIB:失败

但是在**.mib文件中,我找到了所有导入。关于为什么这不起作用有什么建议吗


Tags: fromdebugimportforcompilerresultsreadermib
1条回答
网友
1楼 · 发布于 2024-10-02 18:27:57

您应该将所有这些MIB文件放在C:/PROJECT/SNMPTest/Venv中,因为它们是整个编译过程成功所必需的依赖项

我可以预见的一个问题与Windows路径有关。。。因此,请尝试启用pysmi调试,以确保路径不会以某种方式崩溃

相关问题 更多 >