一、安装
pip install IPy
二、使用
1. IP基本使用
>>> from IPy import IP
>>> ip = IP('192.168.1.0/30')
>>> [i for i in ip]
[IP('192.168.1.0'), IP('192.168.1.1'), IP('192.168.1.2'), IP('192.168.1.3')]
>>> ip.len()
4
2. IP版本
>>> IP('192.168.1.0').version()
4
>>> IP('::1').version()
6
3. IP进制转换
>>> ip.int()
3232235776
>>> ip.strBin()
'11000000101010000000000100000000'
4. IP计算
>>> IP('192.168.1.0/24') - ip
IPSet([IP('192.168.1.4/30'), IP('192.168.1.8/29'), IP('192.168.1.16/28'), IP('192.168.1.32/27'), IP('192.168.1.64/26'), IP('192.168.1.128/25')])
5. IP比较
>>> ip
IP('192.168.1.0/30')
>>> IP('192.168.2.0/30') > ip
True
>>> IP('192.168.2.0/30') == ip
False
>>> IP('192.168.2.0/30') < ip
False
6. 两个网络是否存在包含关系
>>> '192.168.1.0/30' in IP('192.168.1.0/24')
True
>>> '192.168.2.0/30' in IP('192.168.1.0/24')
False
>>> ip
IP('192.168.1.0/30')
>>> '192.168.1.0/24' in ip
False
7. 两个网络是否存在重叠关系
>>> IP('192.168.2.0/30').overlaps('192.168.1.0/24')
0
>>> IP('192.168.1.0/30').overlaps('192.168.1.0/24')
1
>>> IP('192.168.1.0/24').overlaps('192.168.0.0/23')
-1
-
返回
0
代表不存在重叠 -
返回
1
代表在末尾重叠 -
返回
-1
代表在开始重叠
本博文值列出几个最常用的,详细的功能请访问官方 Github
:https://github.com/autocracy/python-ipy。