我正在尝试对IP列表进行排序,删除重复项,并在每个地址的末尾添加/ 32。从我的代码中,您可以看到99.99%的地址,但输出的最后一个IP地址缺少/ 32表示法。我错过了什么导致这种情况发生?
我并没有做太多尝试,因为我不确定打印行中的/32\n.join会忽略最后一个地址。
def laststep():
src = '/tmp/masterlist.txt'
with open(src, 'r') as f:
ips = sorted(list(set(ipaddress.ip_address(line.strip()) for line in f)))
print('/32\n'.join(map(str, ips)))
以下是输出示例:
1.1.1.1/32
2.2.2.2/32
3.3.3.3/32
4.4.4.4/32
5.5.5.5
我希望看到的是:
1.1.1.1/32
2.2.2.2/32
3.3.3.3/32
4.4.4.4/32
5.5.5.5/32