PySNMP丢失的文件

问题描述 投票:0回答:1

我发现以下示例脚本将自定义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-CONF:丢失,SNMPv2-SMI:丢失,SNMPv2-TC:丢失,MyMIB:失败

但是在我的**。mib文件中,找到了所有导入文件。为什么这不起作用的任何提示?

python snmp pysnmp
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.