用Ipy处理IP地址和网段

IPy 是一个用来处理 IP 地址和网段的类库。

IP地址

IP 类用来表示 IP 地址, IPv4IPv6 都支持。

1
2
3
4
5
>>> from IPy import IP
>>> IP('10.0.0.0').version()
4
>>> IP('::1').version()
6

可以判断 IP 类型:

1
2
>>> ip.iptype()
'PRIVATE'

IP网络

通过 IP 表示一个网络,即相邻的多个 IP 地址:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
>>> from IPy import IP
>>> ip = IP('10.2.32.0/30')
>>> ip.len()
4
>>> for x in ip:
...     print(x)
...
10.2.32.0
10.2.32.1
10.2.32.2
10.2.32.3

还可以通过掩码指定:

1
>>> ip = IP('10.2.32.0/255.255.255.252')

也可以直接指定范围:

1
>>> ip = IP('10.2.32.0-10.2.32.3')

这几种写法是等价的。

【小菜学Python】系列文章首发于公众号【小菜学编程】,敬请关注:

【小菜学Python】系列文章首发于公众号【小菜学编程】,敬请关注: