python如何判断IP是IPv4地址还是IPv6地址?

3年前 (2018-08-25)阅读51回复0
admin
admin
  • 管理员
  • 注册排名1
  • 经验值1035
  • 级别管理员
  • 主题207
  • 回复0
楼主
现在正在普及IPv6,所以常见的ip地址不只有 ipv4地址了。那么在下一代的互联网中,ipv4和 ipv6会共存,如何在python语言中判断一个ip地址是 IPv4地址,还是一个 IPv6地址呢。
python判断IP是 IPv4地址,还是 IPv6地址实现代码如下:
from netaddr.ip import IPAddress   def isIP4or6(cfgstr):     ipFlg = False       if '/' in cfgstr:         text = cfgstr[:cfgstr.rfind('/')]     else:         text = cfgstr           try:         addr = IPAddress(text)         ipFlg = True     except:         ipFlg = False       if ipFlg == True:         return addr.version     else:         return False           str_IPaddress = '192.168.1.2'       if isIP4or6(str_IPaddress) == 4:     print('这是个 ipv4地址。') elif isIP4or6(str_IPaddress) == 6:     print('这是个ipv6地址。') else:     print(这是一个ipv4地址或 ipv6地址。')
0
回帖

python如何判断IP是IPv4地址还是IPv6地址? 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息