linux自动化运维之IPy模块介绍(2)

今天继续来讲解Ipy模块的用法,上一期的介绍请点击链接

http://mp.toutiao.com/preview_article/?pgc_id=6758324619083514376

今天要讲解的是Ipy多网络计算方法

1.Ipy支持类似于数值型的比较,以帮助IP对象进行比较,看IP地址和网段是否包含于另一个网段中,如下图:

True表示IP地址或网段包含于后面的网段中,false表示不包含,如下图:

2.Ipy也可以判断两个钢段是否存在重叠,采用的是Ipy中overlaps子模块,如下图:

返回值1表示有重叠,返回值0表示不存在重叠

3.根据输入的IP或子网返回网络号、子网掩码、广播、反向解析、子网数、IP类型等信息

程序代码如下:

from IPy import IP

ips = input("请输入一个IP地址或网段 : ") # 接受用户输入IP或网段

ips = IP(ips)

if len (ips) > 1 :#如果大于1,就是一个网络地址

print ('%s是一个网络地址段'%ips)

print ('网络地址 : %s' % ips.net()) #输出网络地址

print ('子网掩码 : %s' % ips.netmask()) #输出子网掩码

print ('广播地址 : %s' %ips.broadcast())#输出网络广播地址

print ('地址反向解析: %s ' % ips.reverseNames()[0])#输出地址反向解析

print ('网络地址数量: %s' %len(ips)) #输出网络子网数

else: #为单个网络地址

print ('%s为单个网络地址'%ips)

print ('IP反向解析: %s '% ips.reverseNames()[0]) #输出IP反向解析

print ('16位地址:%s'% ips.strHex())

print ('2进制地址:%s'% ips.strBin())

print ('地址类型:%s'% ips.iptype()) #输出地址类型,如PRIVATE PUBLIC LOOPBAK等

程序运行结果如下:

1)

2)

本代码在python3.7.5下测试通过,有感兴趣的同学可以复制下来运行一下,看看结果和我的输出结果是否一致

到这里Ipy模块的功能都介绍完毕了,如果有什么不明白的,可以私信或留言给我,感谢您的观看。如果本文对您有帮助,请关注或点赞

你可能感兴趣的:(linux自动化运维之IPy模块介绍(2))