我试图解释开关的以下输出。基本上,我希望它遍历输出,直到找到“notconnect”,然后将接口的名称存储在数组中。然后继续遍历该文件,并将下一个“notconnect”接口存储为数组中的下一个元素。下例中的接口是Gi1/0/4。我只是不知道从哪里开始。任何帮助都将不胜感激。我使用的是python3.3.2。在
b'\r\n\r\nMS-2673-DC-CS01#terminal length 0\r\nMS-2673-DC-CS01#sh interface status\r\n\r\nPort Name Status Vlan Duplex Speed Type\r\nGi1/0/1 Connection to MS-2 connected trunk a-full a-1000 1000BaseSX SFP\r\nGi1/0/2 Connection to MS-2 connected trunk a-full a-1000 1000BaseSX SFP\r\nGi1/0/3 Connection to MS-2 connected trunk a-full a-1000 1000BaseSX SFP\r\nGi1/0/4 notconnect trunk auto auto Not Present\r\nGi1/0/5 Connection to MS-2 connected trunk a-full a-1000 1000BaseSX SFP\r\nGi1/0/6 Connection to MS-2 connected trunk a-full a-1000 10/100/1000BaseTX SFP\r\nGi1/0/7 Connection to MS-2 connected trunk a-full a-1000 10/100/1000BaseTX SFP\r\nGi1/0/8 Connection to MS-2 connected trunk a-full a-1000 10/100/1000BaseTX SFP\r\nGi1/0/9 Connection to MS-2 connected trunk a-full a-1000 10/100/1000BaseTX SFP\r\nGi1/0/10 Connection to MS-2 connected trunk a-full a-1000 10/100/1000BaseTX SFP\r\nGi1/0/11 Connection to MS-2 connected trunk a-full a-1000 10/100/1000BaseTX SFP\r\nGi1/0/12 Connection Server connected 32 a-full a-1000 10/100/1000BaseTX SFP\r\nMS-2673-DC-CS01#exit\r\n'
首先,你必须弄清楚是什么格式。然后可以编写代码来解析它。在
显然,这是一种固定宽度的列格式。接口总是在前10个字符中,连接字符串在后20个字符中,等等。因此,给定一行:
…将得到列。在
所以,只需循环这些行,将每行拆分成列,然后找到正确的行:
^{pr2}$如果您想要更一般的东西,只需编写一个列拆分函数,它接受一行和一系列列边界。在
您也可以将其转换为genexpr序列,而不是一组函数。稍微简洁一点,但可能读不到:
相关问题 更多 >
编程相关推荐