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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM