我有一个起始IP地址和IP计数。我想将计数分成1024个块,并按以下方式生成一个列表:
样本输入
ip = 90.1.0.0
count = 12000
期望输出(第1列表示起始IP,第2列表示计数)
^{pr2}$简短描述
在90.1.0.0
到90.1.4.0
(total count=1024 * 1 = 1024
)
在90.1.4.0
到90.1.8.0
(total count=1024 * 2 = 2048
)之间有1024个ip,就像wise
在90.1.36.0
到90.1.40.0
(total count=1024 * 11 = 11264
因为我们需要计数12000,(12000 - 11264 = 736
)将需要在最后一个ip范围内,即90.1.40.0 to 90.1.44.0
其他样本
输入:
ip = 90.1.0.0
count = 32
输出:
90.1.0.0 32
你能建议一下怎么做吗?我是新来的堆栈溢出,所以请指导我,如果我错过了什么。在
提前谢谢!在
您可以尝试以下代码:
IP转换代码取自here。在
from_string函数也可以写如下:
和to_string函数:
^{pr2}$注意:这些计算仅适用于IPv4
python3
附带了一个库ipaddress
(对于python2有一个backport),这使得使用ip地址非常容易。在在您的例子中,您可以编写一个生成器,生成您想要的结果,如下所示:
相关问题 更多 >
编程相关推荐