11.4 假如我们有一个网段 192.168.1.89/27,我们想得到全部的ip地址范围
>>> import ipaddress
>>> net = ipaddress.ip_network('192.168.2.64/27')
>>> net
IPv4Network('192.168.2.64/27')
>>> for a in net:
... print(a)
...
192.168.2.64
192.168.2.65
192.168.2.66
192.168.2.67
192.168.2.68
192.168.2.69
.............
192.168.2.90
192.168.2.91
192.168.2.92
192.168.2.93
192.168.2.94
192.168.2.95
>>> net.num_addresses
32
>>> net[0]
IPv4Address('192.168.2.64')
>>> net[1]
IPv4Address('192.168.2.65')
>>> net[-1]
IPv4Address('192.168.2.95')
>>>
>>> a = ipaddress.ip_address('192.168.2.90')
>>> a in net
True
>>> b = ipaddress.ip_address('192.168.2.100')
>>> b in net
False
>>>
>>> inet = ipaddress.ip_interface('192.168.2.70/27')
>>> inet.network
IPv4Network('192.168.2.64/27')
>>> inet.ip
IPv4Address('192.168.2.70')
>>>
- ipaddress 模块中有一些类可以用来表示ip地址、网络对象以及接口,详细信息可以查看ipaddress python官网
网友评论