python可以查ip地址吗_python检查IP地址正确性

一、自动动手,丰衣足食

#encoding=utf-8

import os,sys

def check_ip(ipaddr):

addr = ipaddr.strip().split('.') #切割IP地址为一个列表

#print addr

if len(addr) != 4: #切割后列表必须有4个参数

print "check ip address failed1!"

sys.exit()

for i in range(4):

try:

addr[i]=int(addr[i]) #每个参数必须为数字,否则校验失败

except:

print "check ip address failed!"

sys.exit()

if addr[i]<=255 and addr[i]>=0: #每个参数值必须在0-255之间

pass

else:

print "check ip address failed!"

sys.exit()

print "check ip address success!"

if __name__ == '__main__':

ip = raw_input("please input check ip:")

# ip = "172.29.41.57"

check_ip(ip)

二、使用python库

import socket

def valid_ip(address):

try:

socket.inet_aton(address)

return True

except:

return False

此方法存在局限性,可以检测IP地址每个字段的合法性,无法检查字段个数。

print valid_ip('10.10.20.30')

-> True

print valid_ip('999.10.20.30')

-> False

print valid_ip('gibberish')

-> False

print valid_ip('172.29.41')

-> True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值