python如何判断IP地址是不是合法
发布时间:2022-04-18 13:38:07 所属栏目:语言 来源:互联网
导读:python如何判断IP地址是否合法?很多新手不知道IP地址是否合法要怎么判断,这篇文章就给大家介绍一下python3判断IP地址的具体代码,感兴趣的朋友可以看一下。 注意:输入可能是任意的一个字符串,比如abc.bas.fefe.4r4或者23.23.11.23.123 这都是不合法的IP
python如何判断IP地址是否合法?很多新手不知道IP地址是否合法要怎么判断,这篇文章就给大家介绍一下python3判断IP地址的具体代码,感兴趣的朋友可以看一下。 注意:输入可能是任意的一个字符串,比如“abc.bas.fefe.4r4”或者“23.23.11.23.123” 这都是不合法的IP地址 例如 输入:192.41.6.20 输出:0xC0290614 输入:257.32.23.1 输出:Error 解1 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') 解2: def change(lis): if len(lis)!=4: return 'Error' try: # 判断字符串是否存在非数字 lis=[int(i) for i in lis] except: return 'Error' for i in lis: if i<0 or i>255: # 判断ip地址是否合法 return 'Error' temp='0x' #记录16进制数 for i in lis: a=hex(int(i))[2:].upper().rjust(2,'0') #转换为16进制 # if len(a)!=2: # a='0'+a temp+=a return temp s=list(map(str,input().split('.'))) print(change(s)) 以上就是关于python判断IP地址是否合法的代码介绍,有需要的朋友可以参考一下,更多python的相关内容大家可以看一下看。 (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |