用元组python对IP地址进行排序

2024-05-15 03:43:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试更正一些代码,这些代码将从Cisco IOS设备(通过tftp重定向)获取show命令的输出,并根据IP地址对其进行排序。最后,我将使用CAM(mac地址表)并将其附加到其中。在

设备的输出如下所示:

Internet  172.17.150.198         77   000e.b6a9.e36d  ARPA   Vlan731/n
Internet  161.16.150.202         77   a0ec.f996.94d0  ARPA   Vlan777/n
Internet  161.16.152.199          2   0016.3e7c.8a25  ARPA   Vlan152/n
Internet  172.17.150.197         77   000e.b687.ee67  ARPA   Vlan731/n
Internet  161.16.150.201         77   0cf5.a4e4.d37b  ARPA   Vlan777/n
Internet  161.16.154.196          0   0050.56b3.0ac9  ARPA   Vlan154/n
Internet  161.16.152.198          1   0050.56b3.179d  ARPA   Vlan152/n

代码:

^{pr2}$

这基本上是按ip地址对所有内容进行排序(而不是默认的对ip地址不好的排序)。我真正想做的是拆分,并将ips列1、-3和-1切片,并显示这一对和一行。即:

161.16.150.201 0cf5.a4e4.d37b Vlan777/n
161.16.150.202 a0ec.f996.94d0 Vlan777/n
161.16.152.199 0016.3e7c.8a25 Vlan152/n
161.16.154.196 0050.56b3.0ac9 Vlan154/n
172.17.150.197 000e.b687.ee67 Vlan731/n

我该怎么做呢?在


Tags: 代码排序地址internetarpad0a25ee67
1条回答
网友
1楼 · 发布于 2024-05-15 03:43:38

如果这是您的来源,请调用fhand

source = '''
Internet  172.17.150.198         77   000e.b6a9.e36d  ARPA   Vlan731/n
Internet  161.16.150.202         77   a0ec.f996.94d0  ARPA   Vlan777/n
Internet  161.16.152.199          2   0016.3e7c.8a25  ARPA   Vlan152/n
Internet  172.17.150.197         77   000e.b687.ee67  ARPA   Vlan731/n
Internet  161.16.150.201         77   0cf5.a4e4.d37b  ARPA   Vlan777/n
Internet  161.16.154.196          0   0050.56b3.0ac9  ARPA   Vlan154/n
Internet  161.16.152.198          1   0050.56b3.179d  ARPA   Vlan152/n'''

fhand = source.splitlines()

然后此代码将按IP地址排序并每隔一列打印一次:

^{pr2}$

输出如下:

161.16.150.201  0cf5.a4e4.d37b Vlan777/n
161.16.150.202  a0ec.f996.94d0 Vlan777/n
161.16.152.198  0050.56b3.179d Vlan152/n
161.16.152.199  0016.3e7c.8a25 Vlan152/n
161.16.154.196  0050.56b3.0ac9 Vlan154/n
172.17.150.197  000e.b687.ee67 Vlan731/n
172.17.150.198  000e.b6a9.e36d Vlan731/n

相关问题 更多 >

    热门问题