首页 > 数据库 > 数据库开发技术 > Python自动化运维 : IPy模块
Python自动化运维
网络基础之IPy模块
亲爱的老铁们,大家好!我是你们的小安老师
,好久没有发文章了,前段时间又是搬家又是断网的,最近电脑还进一大杯水了,但是我的小微信群一直都有在为大家解答喔,有兴趣的伙伴可以加入我们小群一起学习讨论喔!
(方法: 加 小安老师 的微信号 : chanson_258,备注:加群学习)
接下来几次分享,主要涉及网络基础方面,原因如下:
1. 为自动化运维打下坚实的基础。
2. 最近恰好有这样的需求。
1. IPy模块介绍
2. IPy模块的基本使用
3. 网段管理
4. 多网络计算方法
5. IPy模块案例
在网络设计中,首先要做的就是规划IP地址。IP地址的好坏直接影响路由算法的效率,包括网络性能和可扩展性。在IP地址规划中,需要进行大量的IP地址计算,包括网段,网络掩码,广播地址,子网数,IP类型等计算操作。在大量计算操作中,如果没有一个好的工具,计算ip地址是一个很无趣又容易出错的事情。在Perl语言中,可以使用NET::IP模块,在Python语言中可以使用开源的IPY模块进行操作。
IPY模块是一个处理IP地址的模块,它能够自动识别IP地址的版本,IP地址的类型,使用模块可以方便进行IP地址的计算。
2.1 安装模块
pip install ipy
2.2 常见方法

1)十六进制变身IP地址

2)IP地址还是IP地址

3)网段还是网段

4)IPv6 地址还是IPv6地址

5)地址范围输出网段

2.3 获取IP地址版本
1)IPv4版本

2)IPv6版本


2.4 获取子网IP地址个数


2.5 获取IP地址类型
1)LOOPBACK 类型
2)Private 类型

3)Public 类型


2.6 获取IP地址的整数形式
1)IP地址 转 INT整型

2)INT整型 转 IP地址






5)Mysql的IP地址和整型转换



3.1 显示网段的方法



3.2 显示网段中的IP地址


3.3 strNormal方法
strNormal方法,该方法接受一个 wantprefixlen 参数,参数的合法取值0~3,每一个取值代表网段的显示方式。
1)显示IP地址

2)显示网段的三种方式



4.1 比较大小

4.2 包含关系

网段包含关系,全包含才True喔



4.3 网络是否重叠
返回0代表存在不重叠,返回1代表存在重叠


5.1 案例源码
# _*_ coding:utf-8 _*_
from IPy import IP
inp_ip = input("please input an IP or net-range:")
iplist = IP(inp_ip)
if len(iplist) > 1:
print('1. 网络地址 :%s' % iplist.net())
print('2. 网络掩码地址:%s' % iplist.netmask())
print('3. 网络广播地址:%s' % iplist.broadcast())
print('4. 子网地址个数:%s' % len(iplist))
print('5. 反向解析地址:%s' % iplist.reverseNames())
else:
print('1. 反向解析地址:%s' % iplist.reverseNames())
print('2. IP地址类型 :%s' % iplist.iptype())
print('3. 十进制形式 :%s' % iplist.strHex())
print('4. 十六进制形式:%s' % iplist.strHex())
print('5. 二进制形式 :%s' % iplist.strBin())
5.2 代码示范
1)输入网段方式一

2)输入网段方式二

3)输入网址

总结
总结一下,IPy模块的使用方法并不是很难,但我相信就是这些小的东西,不断组合并放在各种各样的项目代码里,会放出不一样的光彩。
另外,小安老师的微信群已经建好了,等着老铁们呢!如果老铁们想和小安老师一起学习,欢迎加入一起探讨喔~
对了,接下来小安老师会分享一大波关于Python网络的知识,敬请期待,非常感谢!
往期回顾
Python切割文件教程一 | 我的“大马士革命刀"
Python切割文件教程二 | 我的“大马士革命刀"不Like补刀
Django博客教程一 | Django架构介绍
Django博客教程二 | Django入门版博客
Django博客教程三 | Django进阶版博客数据篇
Django博客教程四 | Django进阶版博客网页篇


Python自动化运维
作者微信 : Chanson_258
欢迎加群,一起学习喔~
扫二维码,关注我们
原文作者:Python自动化运维;如有侵权,请联系管理员删除。