【问题标题】:Determine number of IPs within an IP range using Python 3 and Ipaddress module使用 Python 3 和 Ipaddress 模块确定 IP 范围内的 IP 数量
【发布时间】:2023-04-04 23:30:02
【问题描述】:
使用 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
谢谢!
【问题讨论】:
标签:
python-3.x
ip-address
【解决方案1】:
我认为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')]