Python IPy模块
- #!/usr/bin/env python
- # -*- coding: utf-8 -*
- # Created by YangYongming at 2018/09/17 20:22
- # FileName: ipy.py
- import IPy
- ip1 = IPy.IP("220.181.199.13")
- ip2 = IPy.IP("220.181.199.0/24")
- ip3 = IPy.IP("220.181.199.0/255.255.255.0")
- # IP 及 网段的基本处理
- print(ip3.len()) # 计算IP地址个数:256
- print(ip1.version()) # 输出IP地址的版本:4
- print(ip2.netmask()) # 输出掩码:255.255.255.0
- print(ip1.iptype()) # 输出IP地址是公网IP还是私网IP:PUBLIC
- print(ip1.reverseName()) # 反向解析IP地址格式:13.199.181.220.in-addr.arpa.
- print(ip1.reverseNames()) # 反向解析IP地址格式,返回列表格式:['13.199.181.220.in-addr.arpa.']
- print(ip2.broadcast()) # 输出一个网段的广播地址:220.181.199.255
- # for i in ip2: # 打印输出IP地址
- # print(i)
- # IP地址进制转换
- print(ip1.strBin()) # 转换为二进制:11011100101101010110001100001101
- print(ip1.strHex()) # 转换为十六进制:0xdcb5630d
- print(ip1.int()) # 转换为十进制:3702874893
- # 通过wantprefixlen参数“0,1,2,3,4 ”转换成自己想要的地址格式,字符串格式的
- print(ip2.strNormal(0)) # 220.181.199.0
- print(ip2.strNormal(1)) # 220.181.199.0/24
- print(ip2.strNormal(2)) # 220.181.199.0/255.255.255.0
- print(ip2.strNormal(3)) # 220.181.199.0-220.181.199.255
- # 根据IP和掩码 生成 *.*.*.*/* 的格式
- print(ip1.make_net('255.255.255.0')) # 获取220.181.199.13与掩码255.255.255.0计算,CDR格式:220.181.199.0/24
- print(IPy.IP('220.181.199.13/255.255.255.0', make_net=True)) # 将220.181.199.13/255.255.255.0地址格式转换为220.181.199.0/24
- print(IPy.IP('220.181.199.0-220.181.199.255', make_net=True)) # 将220.181.199.0-220.181.199.255地址段转换为220.181.199.0/24格式
- # 判断IP地址是否在一个网段中
- print("192.168.1.22" in IPy.IP("192.168.1.0/24")) #: True
- print("192.168.2.22" in IPy.IP("192.168.1.0/24")) #: False
- # 比较两个网段的大小
- print(IPy.IP("192.168.3.0/24") > IPy.IP("192.168.1.0/24")) #: True
- # 判断两个网段是否有重叠
- print(IPy.IP("192.168.3.0/24").overlaps("192.168.4.0/24")) # :0 表示不存在重叠
- print(IPy.IP("192.168.2.0/23").overlaps("192.168.3.0/24")) # :1 表示存在重叠
- # IP地址排序
- L = ['1.4.5.32', '4.5.3.2', '1.2.3.4', '6.1.1.1']
- L1 = sorted(L, key=lambda x: IPy.IP(x).int())
- for i in L1:
- print(i)
Python IPy模块的更多相关文章
- Python 输入IP地址及掩码告诉你该网段包含的全部地址(IPy模块练习)
IPy模块原本使用时需要输入正确的网络位和掩码,我利用处理报错的机制实现了输入任意IP地址和掩码均可正确输出结果的小程序. #!/usr/bin/env python # -*- coding: ut ...
- IPy模块--IP地址处理
Python之实用的IP地址处理模块IPy 实用的IP地址处理模块IPy 在IP地址规划中,涉及到计算大量的IP地址,包括网段.网络掩码.广播地址.子网数.IP类型等 别担心,Ipy模块拯救你.Ipy ...
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- Python的模块引用和查找路径
模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...
- Python Logging模块的简单使用
前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法.本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表. 另外,Python的H ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- python基础-模块
一.模块介绍 ...
- python 安装模块
python安装模块的方法很多,在此仅介绍一种,不需要安装其他附带的pip等,python安装完之后,配置环境变量,我由于中英文分号原因,环境变量始终没能配置成功汗. 1:下载模块的压缩文件解压到任意 ...
- python Queue模块
先看一个很简单的例子 #coding:utf8 import Queue #queue是队列的意思 q=Queue.Queue(maxsize=10) #创建一个queue对象 for i in ra ...
随机推荐
- BUAAMOOC项目终审报告
工作总结 我们是歪果仁带你灰开发团队.我们开发的项目是北航学堂(MOOC)的android客户端:BUAAMOOC. 目前我们完成了主要功能,包括UI设计,视频播放,视频下载,学习进度,个人信息等功能 ...
- 【实践报告】Linux实践四
Linux内核分析 实践四——ELF文件格式分析 一.概述 1.ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件用于存储Linux程序.ELF文 ...
- Zookeeper 3.4.8分布式安装
1.机器信息 五台centos 64位机器 2.集群规划 Server Name Hadoop Cluster Zookeeper Ensemble HBase Cluster Hadoop01 ...
- BUAA软工个人作业Week3-案例分析
一. 调研评测 评测项目:为了联系移动和PC版,我同时下载了必应词典的Android版本和UWP版本,选择UWP的原因是想看看微软推广的UWP在微软自己的应用上的效果.当然主要是对安卓的测评(UWP用 ...
- 使用composer遇到的问题及解决方法
可以尝试利用composer下载Yii框架,编辑composer.json文件: { "require":{ "yiisoft/yii2":"~2.0 ...
- Python 2和Python 3的编码问题
在Python2中,字符串无法完全地支持国际字符集和Unicode编码.为了解决这种限制,Python2对Unicode数据使用了单独的字符串类型.要输入Unicode字符串字面量,要在第一个引号前加 ...
- 监控系统 & monitoring & DevOps
监控系统 & monitoring & DevOps https://github.com/topics/monitoring https://github.com/marketpla ...
- HUD 1024 Max Sum Plus Plus (滚动数组)
题意:从一个序列中选出分成不交叉的m段 的最大和 解析 : 题目中 1 <= n <=1000000 所以二维数组是不能用了 所以 要想到简化为一维 dp[i][j]表示以i结尾的前i个 ...
- MT【40】一道联赛二试题
让我通过这道题来演示如何利用切比雪夫多项式的内功心法: 评:如此大道至简,当年为之叫绝的精彩的做法
- 【POI每日题解 #5】 DWU-Double-row
题目链接 [POI2005]DWU-Double-row wwwww 之前写了半小时 一卡机 没啦QAQ 简单说一下吧 [吐血ing 这道题长得好二分图啊 所以本能地连边 一种是A边 连可交换的数对 ...