日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python:判定IP地址合法性的三种方法

發(fā)布時(shí)間:2025/3/20 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python:判定IP地址合法性的三种方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

IP

IP合法性校驗(yàn)是開發(fā)中非常常用的,看起來很簡單的判斷,作用確很大,寫起來比較容易出錯(cuò),今天我們來總結(jié)一下,看一下3種常用的IP地址合法性校驗(yàn)的方法。

IPv4的ip地址格式:(1255).(0255).(0255).(0255)

正則表達(dá)式判定法

最簡單的實(shí)現(xiàn)方法是構(gòu)造一個(gè)正則表達(dá)式。判斷用戶的輸入與正則表達(dá)式是否匹配。若匹配則是正確的IP地址,否則不是正確的IP地址。

下面給出相對應(yīng)的驗(yàn)證ip的正則表達(dá)式:

^(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)$

\d表示0~9的任何一個(gè)數(shù)字

{2}表示正好出現(xiàn)兩次

[0-4]表示0~4的任何一個(gè)數(shù)字

| 的意思是或者

1\d{2}的意思就是100~199之間的任意一個(gè)數(shù)字

2[0-4]\d的意思是200~249之間的任意一個(gè)數(shù)字

25[0-5]的意思是250~255之間的任意一個(gè)數(shù)字

[1-9]\d的意思是10~99之間的任意一個(gè)數(shù)字

[1-9])的意思是1~9之間的任意一個(gè)數(shù)字

.的意思是.點(diǎn)要轉(zhuǎn)義(特殊字符類似,@都要加\轉(zhuǎn)義)

代碼如下:

''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import re def check_ip(ipAddr):compile_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 compile_ip.match(ipAddr):return True else: return False

字符串拆解法

把ip地址當(dāng)作字符串,以.為分隔符分割,進(jìn)行判斷

''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' #!/usr/bin/python import os,sys def check_ip(ipAddr): import sys addr=ipAddr.strip().split('.') #切割I(lǐng)P地址為一個(gè)列表 #print addr if len(addr) != 4: #切割后列表必須有4個(gè)參數(shù) print "check ip address failed!"sys.exit() for i in range(4): try: addr[i]=int(addr[i]) #每個(gè)參數(shù)必須為數(shù)字,否則校驗(yàn)失敗 except: print "check ip address failed!"sys.exit() if addr[i]<=255 and addr[i]>=0: #每個(gè)參數(shù)值必須在0-255之間 passelse: print "check ip address failed!"sys.exit() i+=1else: print "check ip address success!" if len(sys.argv)!=2: #傳參加本身長度必須為2 print "Example: %s 10.0.0.1 "%sys.argv[0] sys.exit() else: check_ip(sys.argv[1]) #滿足條件調(diào)用校驗(yàn)IP函數(shù)

引入IPy類庫

IPy庫是一個(gè)處理IP比較強(qiáng)大的第三方庫。涉及到計(jì)算大量的IP地址,包括網(wǎng)段、網(wǎng)絡(luò)掩碼、廣播地址、子網(wǎng)數(shù)、IP類型等別擔(dān)心,Ipy模塊拯救你。Ipy模塊可以很好的輔助我們高效的完成IP的規(guī)劃工作。 IPy庫的安裝方法請根據(jù)自己的操作系統(tǒng)自行查找,有很多詳細(xì)例子。

import IPy def is_ip(address): try: IPy.IP(address) return True except Exception as e: return False

總結(jié)

三種方法都能夠準(zhǔn)確的判斷出ip(IP V4)地址的合法性, 正則表達(dá)式代碼量少, 邏輯簡單, 但是正則表達(dá)式繁瑣, 字符串判定法容易理解,但是代碼量大, 使用類庫,判斷簡潔,但是需要引入額外的庫。各有利弊, 使用時(shí)自行選擇即可。

總結(jié)

以上是生活随笔為你收集整理的Python:判定IP地址合法性的三种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产18久久久久久二百 | 欧美性极品少妇xxxx | 亚洲色图20p| 亚洲一区高清 | 国产白浆在线 | 日本成人激情 | 成人黄色片免费看 | 天天干天天摸天天操 | 一本色道久久88综合日韩精品 | 免费成人福利视频 | 激情成人av| 久久久久久久久久久丰满 | 国产在线视频在线观看 | 日本精品视频一区 | 欧美三级一级片 | 亚洲美女视频在线 | 日韩日日夜夜 | 天天人人综合 | 五月天小说网 | 插插射射 | 国产视频在线观看网站 | free女性xx性老大太 | 噜噜噜在线 | ,国产精品国产三级国产 | 久久精品天天中文字幕人妻 | va婷婷在线免费观看 | 少妇被黑人到高潮喷出白浆 | 人妻aⅴ无码一区二区三区 阿v免费视频 | 亚洲香蕉在线视频 | 视频在线观看网站免费 | 欧美精品videos另类 | 成人激情四射 | 69成人免费视频 | 95国产精品 | 女人被狂躁60分钟视频 | 国产老头户外野战xxxxx | 国产h片在线观看 | 五月天激情四射 | 国产精品免费一区二区三区四区 | 四虎精品欧美一区二区免费 | av资源网站 | 欧美一级淫 | 国产精品久久综合青草亚洲AV | 好了av在线 | 国产探花精品一区二区 | 国产又粗又猛又黄 | 伊人网址 | 国产制服丝袜 | 在线视频观看你懂得 | 午夜av影视 | 韩国三级在线播放 | 日韩91| 日韩综合中文字幕 | 大地资源二中文在线影视观看 | 免费的黄色的视频 | 欧美色图11p | 爱情岛论坛亚洲自拍 | 51啪影院 | 琪琪色综合网 | 销魂奶水汁系列小说 | 欧美久久综合网 | 午夜精品久久久久久久久 | 欧美大片在线免费观看 | 久操青青 | 欧美熟妇一区二区 | 男生和女生差差的视频 | 日本无遮羞调教打屁股网站 | 久久婷香| 日本免费黄色片 | 午夜精品久久久久久久第一页按摩 | 在线激情网站 | 一区二区三区视频 | 国产色一区二区 | 欧美激情一级 | 中文在线第一页 | 久草福利免费 | 伊人爱爱网 | 你懂的成人| 99久久99久久精品免费看蜜桃 | 亚洲第一天堂久久 | 粉嫩av四季av绯色av | 成人黄色一级视频 | av大帝在线 | 在线激情av | 国产免费又黄又爽又色毛 | 曰本不卡视频 | 欧美色成人 | 亚洲一区免费电影 | 午夜精品网 | 国产精品区在线 | 一级特黄a | 不卡的免费av | 小泽玛利亚一区二区三区在线观看 | 成人黄色性视频 | jizzjizz在线播放| 激情免费视频 | 麻豆一区二区三区在线观看 | 黄色69视频 | 国产成人精品a视频一区 |