python与shell校验IP地址合法性
生活随笔
收集整理的這篇文章主要介紹了
python与shell校验IP地址合法性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python校驗IP地址合法性
執行效果:
python代碼:
[root@yang python]# vi check_ip.py #!/usr/bin/python import os,sys def check_ip(ipaddr):import sysaddr=ipaddr.strip().split('.') #切割IP地址為一個列表#print addrif len(addr) != 4: #切割后列表必須有4個參數print "check ip address failed!"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之間passelse:print "check ip address failed!"sys.exit()i+=1else:print "check ip address success!" if len(sys.argv)!=2: #傳參加本身長度必須為2print "Example: %s 10.0.0.1 "%sys.argv[0]sys.exit() else:check_ip(sys.argv[1]) #滿足條件調用校驗IP函數shell校驗IP地址合法性
執行校果:
? 返回值0校驗合法,非0不合法。
shell代碼:
[root@yang python]# vi check_ip.sh #!/usr/bin/sh CheckIPAddr() { echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$" > /dev/null; #IP地址必須為全數字if [ $? -ne 0 ]thenreturn 1fiipaddr=$1a=`echo $ipaddr|awk -F . '{print $1}'` #以"."分隔,取出每個列的值b=`echo $ipaddr|awk -F . '{print $2}'`c=`echo $ipaddr|awk -F . '{print $3}'`d=`echo $ipaddr|awk -F . '{print $4}'`for num in $a $b $c $ddoif [ $num -gt 255 ] || [ $num -lt 0 ] #每個數值必須在0-255之間thenreturn 1fidonereturn 0 } if [ $# -ne 1 ];then #判斷傳參數量echo "Usage: $0 ipaddress."exit else CheckIPAddr $1 fi總結
以上是生活随笔為你收集整理的python与shell校验IP地址合法性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql更新日志问题
- 下一篇: [Android官方API阅读]___A