gpt4 book ai didi

python - 将 CIDR/8,/9 转换并扩展为/10

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:41 28 4
gpt4 key购买 nike

我想将我的 python 脚本中特定范围的 cidr 更改为另一个 cidr就像我有范围:

8.0.0.0/8
9.0.0.0/9

我想通过我的 python 脚本将这个 cidrs 分配到一个/10 cidr 并像这样显示结果

8.0.0.0/10
8.64.0.0/10
8.128.0.0/10
8.192.0.0/10
9.0.0.0/10
9.64.0.0/10

据我所知,cidr/8 应该转换为 4 cidrs/10

有什么帮助吗?我是网络新手,我根本不知道该怎么做,也不知道如何通过 python 对其进行编码。

谢谢

最佳答案

我建议使用 netaddr模块。

查看其 documentation , 特别是 Supernets and subnets 部分.

例子:

from netaddr import IPNetwork

net = IPNetwork('8.0.0.0/8')

subnets = net.subnet(10)
for subnet in subnets:
print subnet

输出:

8.0.0.0/10
8.64.0.0/10
8.128.0.0/10
8.192.0.0/10

请注意 net.subnet() 返回 generator目的。所以你必须迭代它,一旦你这样做,它就会被耗尽。如果您不想这样,请使用 list(net.subnet()) 从中创建一个列表。

关于python - 将 CIDR/8,/9 转换并扩展为/10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22645852/

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