Python3 IP 处理库 IPy

一、安装

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 代表在开始重叠

本博文值列出几个最常用的,详细的功能请访问官方 Githubhttps://github.com/autocracy/python-ipy

猜你喜欢

转载自blog.csdn.net/yilovexing/article/details/108773440
今日推荐