python - 过滤 Python 输出

标签 python python-3.x netmiko

我是 Python 编程的新手,所以请多多包涵。我是一名网络工程师,我一直在使用 Netmiko 从我们的路由器和交换机中提取一些信息。我运行了以下代码以从我们的框中提取接口(interface)描述:

from netmiko import ConnectHandler

device = ConnectHandler(device_type='cisco_ios', ip='1.2.3.4', username='user', password='password')
output = device.send_command("show run | i description")
print (output)
device.disconnect()

这很好地获得了我需要的东西,但我想做的是过滤输出。在接口(interface)描述中,我们有它们所属的客户电路的电路 ID。例如,一个接口(interface)描述可能是这样的:

描述客户/A56I0

我们所有的电路 ID 看起来都像那样,而我想做的是过滤打印出来的 put 以仅包含这些而不包含其他任何内容。澄清一下,如果界面上的整行都是“description Customer/A56I0”,我希望我的输出只显示“A56I0”。我将如何做到这一点?

****编辑****

他是上面脚本输出的一个例子:

description Customer/Order A79PD
description Customer/Order A79PF
description Customer/Order AA6VG
description Customer/Order A79PE
description Customer/Order A79PC
description Customer/Order AA6VV
description Customer/Order A79PJ
description Customer/Order A79PB
description Customer/Order AA6VA

我想要做的是只获取它拉出的每一行的最后 5 个字符,所以它看起来像这样:

A79PD
A79PF
AA6VG
A79PE
A79PC
AA6VV
A79PJ
A79PB
AA6VA

最佳答案

如果最后5个字符是ID那么,可以通过下面的代码实现

from netmiko import ConnectHandler

device = ConnectHandler(device_type='cisco_ios', ip='1.2.3.4', username='user', password='password')
output = device.send_command("show run | i description")
#Change here
for i in output.splitlines():
    print (i[-5:])
device.disconnect()

关于python - 过滤 Python 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58662335/

相关文章:

python - 元素不是模式的元素

Python和C文件同时读/写

python - 为什么我不能在 Mac OS X Terminal.app 的 Python Interpreter 中显示 unicode 字符?

python-3.x - 不能将 OpenCV GeneralizedHoughTransform 类与 Python 一起使用

python - iPython :Using Pandas, 如何组合多个文本文件来查找重复出现的用户名?

Python命令错误通过

python - 尝试使用 send_config_set 时无法在 Netmiko 中进入配置模式

python - 确保 POST 数据是有效的 JSON

python - Netmiko操作系统错误: Search pattern never detected in send_command:

Python:检测文本文件中是否只出现给定的单词之一