gpt4 book ai didi

python - Python 中的 IP 地址列表到 CIDR 列表

转载 作者:太空狗 更新时间:2023-10-30 00:23:43 25 4
gpt4 key购买 nike

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

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']

最佳答案

在 python3 中,我们有一个内置模块:ipaddress。

list_of_ips = ['10.0.0.0', '10.0.0.1', '10.0.0.2', '10.0.0.3', '10.0.0.5']
import ipaddress
nets = [ipaddress.ip_network(_ip) for _ip in list_of_ips]
cidrs = ipaddress.collapse_addresses(nets)
list(cidrs)
Out[6]: [IPv4Network('10.0.0.0/30'), IPv4Network('10.0.0.5/32')]

关于python - Python 中的 IP 地址列表到 CIDR 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com