ip地址异常判定python_【编程开发】python学习-判断是否是IP地址

1、使用正则表达式

首先分析IP地址的组成,十进制的合法IP地址由32位数字组成

使用.分割开

每个分组可出现的情况:

第一个分组:

1-9:一位数字

10-99:两位数字

100-199:三位数字且以1开头

200-249

250-255

其余分组:

0-9

10-99

100-199

200-249

250-255

#coding=utf8

import IPy,re

f1=open(r'D:\sectool\venv\iplist.txt',mode='r')

def is_ip(ipAddr):

check_ip=re.compile('^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$')

if check_ip.match(ipAddr):

return True

else:

return False

if __name__ == '__main__':

for i in f1.readlines():

if is_ip(i):

print i.strip() + ' is vaild ip address'

else:

continue

也可以使用在线工具调试

刚遇到的时候曾想过用2[0-5][0-5]匹配200-255,发现第三位大于5的没法匹配,还是要分开写:

2[0-4]\d

25[0-5]

2、导入第三方库判断

#coding=utf8

import IPy

f1=open(r'D:\sectool\venv\iplist.txt',mode='r')

def  is_ip(address):

try:

IPy.IP(address)

return True

except Exception as  e:

return False

if __name__ == '__main__':

for i in f1.readlines():

if is_ip(i):

print i.strip()+' is vaild ip address'

else:

continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值