Python中的IP地址列表到CIDR列表 [英] List of IP addresses in Python to a list of CIDR

查看:486
本文介绍了Python中的IP地址列表到CIDR列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将IP地址列表转换为CIDR列表? Google的ipaddr-py库有一个名为summarize_address_range(first,last)的方法,它可以转换两个IP地址(开始和完成)到CIDR列表。但是,它无法处理IP地址列表。

How do I convert a list of IP addresses to a list of CIDRs? Google's ipaddr-py library has a method called summarize_address_range(first, last) that converts two IP addresses (start & finish) to a CIDR list. However, it cannot handle a list of IP addresses.

Example:
>>> list_of_ips = ['10.0.0.0', '10.0.0.1', '10.0.0.2', '10.0.0.3', '10.0.0.5']
>>> convert_to_cidr(list_of_ips)
['10.0.0.0/30','10.0.0.5/32']


推荐答案

你可以使用netaddr在一行中完成:

You can do it in one line using netaddr:

cidrs = netaddr.iprange_to_cidrs(ip_start, ip_end)

这篇关于Python中的IP地址列表到CIDR列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆