使用Python 3和Ipaddress模块​​确定IP范围内的IP数

时间:2016-05-18 14:29:44

标签: python-3.x ip-address

使用IPaddresss模块和Python 3,如何以字符串格式确定以下IP范围之间的IP地址数量:" 192.168.0.0-192.168.9.0" ?

似乎加法/减法的唯一算术运算符采用以下格式:

ipaddress.ip_address('192.168.0.0') + x
ipaddress.ip_address('192.168.0.0') - x

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为ipaddress.summarize_address_range可以做你想做的事情

>>> ip1 = ipaddress.ip_address('192.168.0.0')
>>> ip2 = ipaddress.ip_address('192.168.9.0')
>>> iprange = list(ipaddress.summarize_address_range(ip1, ip2))
>>> iprange 
[IPv4Network('192.168.0.0/21'), IPv4Network('192.168.8.0/24'), IPv4Network('192.168.9.0/32')]