加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

python如何判断IP地址是不是合法

发布时间:2022-04-18 13:50:29 所属栏目:语言 来源:互联网
导读:python如何判断IP地址是否合法?很多新手不知道IP地址是否合法要怎么判断,这篇文章就给大家介绍一下python3判断IP地址的具体代码,感兴趣的朋友可以看一下。 输入一串字符,判断该字符串是否为点分十进制的IP地址,若是则转换为16进制输出,否则输出Error
       python如何判断IP地址是否合法?很多新手不知道IP地址是否合法要怎么判断,这篇文章就给大家介绍一下python3判断IP地址的具体代码,感兴趣的朋友可以看一下。
 
        输入一串字符,判断该字符串是否为点分十进制的IP地址,若是则转换为16进制输出,否则输出“Error”
 
        注意:输入可能是任意的一个字符串,比如“abc.bas.fefe.4r4”或者“23.23.11.23.123”
这都是不合法的IP地址
 
        例如
 
输入:192.41.6.20
 
输出:0xC0290614
 
输入:257.32.23.1
 
输出:Error
 
import re
def isIP(str):
 p = re.compile('^((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)$')
 if p.match(str):
  return True
 # else:
 #  return False
myStr = input()
if isIP(myStr):
 print(IP(myStr).strHex().upper())
 # ip = list(map(int, myStr.split('.')))
 # print('0x', end='')
 # for i in ip:
 #  print(hex(i)[2:].upper().rjust(2, '0'), end='')
else:
 print('Error')
         
 
l = input().split(".")
if len(l) != 4:
 print("Error")
else:
 s = ""
 for i in l:
  try:
   num = int(i)
   if num > 255 or num < 0:
    print("Error")
    s = ""
    break
   else:
    s += hex(num)[2:].upper().rjust(2, "0")
  except ValueError:
   print("Error")
   s = ""
   break
 if s:
  print("0x" + s)
        以上就是关于python判断IP地址是否合法的代码介绍,有需要的朋友可以参考一下,更多python的相关内容大家可以看一下看。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读