python是否有办法从给定的起始网络地址获取下一个网络地址。使用ipaddress
模块可以获得下一个主机IP,但有没有办法让自己的下一个网络?如何在python中给出起始网络地址的下一个网络地址
例如,如果我的起始网络地址是10.1.0.0/16
,那么在每次迭代中,我想要获取下一个网络地址,如10.2.0.0/16
,10.3.0.0/16
等。
因此,在10.1.0.0/16
的情况下,网络部分是前两个字节(10.1),其余部分是主机部分。我想单独的网络部分,在每个迭代递增,使主机部分,因为它是为如:
start_network = ipaddress.ip_network('10.1.0.0/16')
# Now on each iteration I want the below output
In [37]: next(start_network)
Out[37]: IPv4Network('10.2.0.0/16')
In [38]: next(start_network)
Out[38]: IPv4Network('10.3.0.0/16')
使用子网选择试过,但顾名思义它可以把你当前的网络中的子网
In [34]: network = ipaddress.ip_network('10.1.0.0/16')
In [35]: network.subnets()
但是我们的要求是获得下一个网络地址(最好是没有任何字符串操作)
我已经发布了解决您的具体问题在这里:http://stackoverflow.com/a/42451377/7311767 –
但你的答案是要得到下一个主机IP,而我的问题是让下一个网络地址 – Mohamed
什么是下一个网络地址?如果我的答案不够,建议编辑你的问题,并用示例显示你的期望。 –