假设我有两个IP:startip = '63.223.64.0'endip = '63.223.127.255'

我知道在python中,netaddr.iprange_to_cidrs(startip, endip)将为您提供恰好在边界之间的CIDR子网列表。但是,我希望能找到一个涵盖所有内容的CIDR子网,即使它提供了更多的IP。

我更喜欢执行此功能的函数,但是我也欢迎任何数学/逻辑计算该函数并将其最终转换为代码。

最佳答案

看起来netaddr.spanning_cidr可以解决问题:

In [5]: netaddr.spanning_cidr(['63.223.64.0', '63.223.127.255'])
Out[5]: IPNetwork('63.223.64.0/18')

关于python - Python最低通用CIDR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35274027/

10-12 20:16