一、自動動手,豐衣足食
#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