加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Python3 IP 处理库 IPy

发布时间:2021-05-21 04:53:04 所属栏目:大数据 来源: https://blog.csdn.net/yilovex
导读:一、安装 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'

一、安装

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。

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读