我有很长的IPv4地址列表(〜18k),我想尽可能总结一下:例如

119.195.74.210
119.196.154.2
119.196.247.223
119.197.20.186
119.199.160.107
119.199.160.32
119.199.160.33
119.199.160.34
119.199.160.54
119.199.160.55


应该结束像

119.195.74.210/32
119.196.154.2/32
119.196.247.223/32
119.197.20.186/32
119.199.160.107/32
119.199.160.32/31
119.199.160.34/32
119.199.160.54/31


速度很重要。

有什么建议么?

最佳答案

我会使用netaddr模块。假设您有一个带有IP地址的文本文件,则代码可能如下所示:

import sys
from netaddr import IPAddress, cidr_merge

fh     = open (sys.argv[1], 'r')
iplist = list()
for addr in fh:
    addr = IPAddress (addr.strip())
    iplist.append (addr)

fh.close()
print cidr_merge (iplist)

关于python - 在python中总结很长的ipv4地址列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24626077/

10-12 18:54