过滤 Python 输出

Filtering Python Output

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

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()

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

描述客户/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()

对输出使用splitlines()。你会得到一个列表,遍历它然后 print(line[-5:])

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")

for i in output.splitlines(): 
    print(i.split()[-1])
device.disconnect()