Python如何获得IP地址的/ 8子网

时间:2018-05-07 08:53:42

标签: python sdn inetaddress ryu

如何获得包含给定IP地址的/ 8子网。 例如,子网10.0.0.0/8用于ip 10.1.1.1

我尝试过net netdr lib,但它没有做它应该做的事情

Login

ip是给定的ip地址

2 个答案:

答案 0 :(得分:1)

使用ipaddr,首先安装模块

pip install ipaddr

然后从中导入IPv4Network

from ipaddr import IPv4Network

masknet = IPv4Network('192.168.1.1') # Ip Address
print masknet.netmask
# OR
masknet = IPv4Network('192.168.1.1/8')
print masknet.netmask

结果:

>>> print masknet.netmask
255.255.255.255
>>> print masknet.netmask
255.0.0.0

答案 1 :(得分:0)

您可以在创建IPNetwork()

后使用ip.network
ip = IPNetwork('10.1.1.1/8')
ip.network
Out[48]: IPAddress('10.0.0.0')
ip = IPNetwork('10.1.1.1/16')
ip.network
Out[50]: IPAddress('10.1.0.0')
ip = IPNetwork('10.1.1.1/24')
ip.network
Out[52]: IPAddress('10.1.1.0')