WEB开发网
开发学院软件开发Python 使用 Net-SNMP 和 IPython 阅读

使用 Net-SNMP 和 IPython

 2008-09-30 12:45:39 来源:WEB开发网   
核心提示: 继续执行,将下面的代码剪切并粘贴到您刚刚创建的文件中,使用 Net-SNMP 和 IPython(5),当保存这个文件时,IPython 将自动地运行它,为了证明这种便利性,让我们转到您刚刚编写的模块,并将该类放置到您环境中相应的模块中,如果您键入 who

继续执行,将下面的代码剪切并粘贴到您刚刚创建的文件中。当保存这个文件时,IPython 将自动地运行它,并将该类放置到您环境中相应的模块中。如果您键入 who,那么您将看到与以下所示类似的内容:In [2]: who
netsnmp snmpSessionBaseClass

这项操作的功能非常强大,因为您可以获得使用您最喜欢的文本编辑器(也许是 Vim 或者 Emacs)的所有优点,然后在交互的 IPython Shell 会话中立即使用这些代码。请注意,如果您已经编写了一个模块,那么您还可以简单地键入并运行它,以获得相同的结果。执行和运行 IPython 中的模块,这就相当于运行其中的代码,并将其放入到 IPython 环境中。

以迭代的方式进行编码

现在通过使用 IPython,可以将 Python Shell、UNIX Shell 和您最喜欢的文本编辑器的最佳特性组合到一起。在与像 SNMP 库这样非常复杂的对象进行交互时,您需要使用可以获得的所有帮助,而在这个示例中,真正地展示了 IPython 的强大功能。

您可以动态地编写一些模块,并且您可以在稍后对其进行测试和使用。IPython 可以与任何编程风格很好地融合在一起,包括测试驱动的开发 (TDD) 或者测试增强的开发 (TED)。为了证明这种便利性,让我们转到您刚刚编写的模块。

既然已经有一个面向对象的 SNMP 接口,那么您就可以开始向本地计算机进行询问:

清单 3. IPython 迭代式编码

In [1]: run snmpinput
In [2]: who
netsnmp snmpSessionBaseClass  
In [3]: s = snmpSessionBaseClass()
In [4]: s.query()
Out[4]: ('Linux localhost 2.6.18-8.1.14.el5 #1 SMP Thu Sep 27 18:58:54 EDT 2007 i686',)
In [5]: result = s.query()
In [6]: len(result)
Out[6]: 1

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:使用 Net SNMP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接