|
发表于 2020-5-1 23:29:02
|
显示全部楼层
本帖最后由 Twilight6 于 2020-5-2 14:46 编辑
- def func(IP):
- if ':' not in IP and '.' in IP and not IP.casefold().islower():
- temp = IP.split('.')
- copy = [int(i) for i in temp if int(i)<=255]
- if len(copy) == 4 :
- for i in range(4) :
- if str(copy[i]) == temp[i]:
- continue
- break
- else:
- return 'IPv4'
- elif (':' in IP) and ('.' not in IP) and ('' not in IP.split(':')):
- for i in IP.split(':',7):
- if len(i) <= 4:
- continue
- break
- else:
- return 'IPv6'
- return 'Neither'
- ip1 = '172.16.254.1' # 正确IP
- ip0 = '172.16.254.01' # 多余零
- ip3 = "256.256.256.256" # 超出255
- IP0 = '2001:db8:85a3:0:0:8A2E:0370:7334' # 正确IP
- IP1 = "2001:0db8:85a3::0000:8a2e:0370:7334" # 少零
- IP2 = "02001:0db8:85a3:0000:0000:8a2e:0370:7334" # 多余零
- a = [ip1,ip0,ip3,IP0,IP1,IP2]
- for i in a:
- print(func(i))
复制代码
凑合吧 最后附上自己的测试
|
评分
-
查看全部评分
|