当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ipaddress.IPv4Network.subnets用法及代码示例


用法:

subnets(prefixlen_diff=1, new_prefix=None)

加入的子网以创建当前网络定义,具体取决于参数值。 prefixlen_diff 是我们的前缀长度应该增加的数量。 new_prefix 是子网所需的新前缀;它必须大于我们的前缀。必须设置prefixlen_diffnew_prefix 中的一项且仅一项。返回网络对象的迭代器。

>>> list(ip_network('192.0.2.0/24').subnets())
[IPv4Network('192.0.2.0/25'), IPv4Network('192.0.2.128/25')]
>>> list(ip_network('192.0.2.0/24').subnets(prefixlen_diff=2))  
[IPv4Network('192.0.2.0/26'), IPv4Network('192.0.2.64/26'),
 IPv4Network('192.0.2.128/26'), IPv4Network('192.0.2.192/26')]
>>> list(ip_network('192.0.2.0/24').subnets(new_prefix=26))  
[IPv4Network('192.0.2.0/26'), IPv4Network('192.0.2.64/26'),
 IPv4Network('192.0.2.128/26'), IPv4Network('192.0.2.192/26')]
>>> list(ip_network('192.0.2.0/24').subnets(new_prefix=23))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    raise ValueError('new prefix must be longer')
ValueError: new prefix must be longer
>>> list(ip_network('192.0.2.0/24').subnets(new_prefix=25))
[IPv4Network('192.0.2.0/25'), IPv4Network('192.0.2.128/25')]

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ipaddress.IPv4Network.subnets。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。