我是 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/