import IPy
#判断IP地址格式
IP_A = IPy.IP('192.168.0.0/24')
IP_B = IPy.IP('240E::192.168.0.0/120')
print(IP_A.version())
print(IP_B.version())
#打印网段内有多少个IP
print(IP_A.len())
print(IP_B.len())
#遍历网段IP
# for ip in IP_B:
# print(ip)
#反向解析地址格式
print(IP_B.reverseName())
#进制转换
print('整数格式', IP_A.int())
print('二进制格式', IP_A.strBin())
print('十六进制格式', IP_A.strHex())
#地址类型
print(IP_A.iptype())
print(IP_B.iptype())
#生成特定的IP格式
print(IPy.IP('192.168.15.1').make_net('255.255.254.0'))
print(IPy.IP('192.168.10.0/255.255.254.0', make_net=True))
print(IPy.IP('192.168.0.0-192.168.7.255', make_net=True))
#掩码位数方式显示
print(IPy.IP('192.168.10.0/24').strNormal(1))
#掩码点分十进制方式显示
print(IPy.IP('192.168.10.0/24').strNormal(2))
#范围方式显示
print(IPy.IP('192.168.10.0/24').strNormal(3))
#IP地址计算判断
IP_C = IPy.IP('10.0.12.0/30')
IP_D = IPy.IP('10.0.8.0/21')
#判断IPD是否包含IPC
if IP_C in IP_D:
print('包含')
#IP地址计算
IP_E = IPy.IP('10.0.12.2')
IP_F = IPy.IP(IP_E.int() - 1)
print(IP_F)