欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中驗(yàn)證IP地址的方法詳解

 更新時(shí)間:2025年08月13日 09:49:39   作者:跡憶客  
IP 代表互聯(lián)網(wǎng)協(xié)議,是分配給每臺(tái)連接到互聯(lián)網(wǎng)的計(jì)算機(jī)的唯一地址,本文將為大家簡(jiǎn)單介紹一下在 Python 中驗(yàn)證 IP 地址的相關(guān)方法,需要的小伙伴可以了解下

IP 代表互聯(lián)網(wǎng)協(xié)議,是分配給每臺(tái)連接到互聯(lián)網(wǎng)的計(jì)算機(jī)的唯一地址。 IP 地址有兩個(gè)版本,即 IPv4 和 IPv6。

IPv4 采用點(diǎn)分十進(jìn)制表示法,由 4 個(gè)八位位組組成,每個(gè)八位位組包含 0 到 255 之間的數(shù)字。 IPv6 地址包含 8 組,每組 4 個(gè)十六進(jìn)制數(shù)字,每組代表 16 位。

 在本指南中,我們將驗(yàn)證 IPv4 地址。

在 Python 中驗(yàn)證 IP 地址

驗(yàn)證IP地址意味著檢查輸入的IP是否有效。

例如:

Input: 192.168.52.124
Output: Valid IP address

Input: 656.1.2.3
Output: Invalid IP address

使用 ipaddress 模塊在 Python 中驗(yàn)證 IP 地址

ipaddress 是 Python 中的一個(gè)模塊,用于根據(jù) IP 地址的類型(IPv4 或 IPv6)對(duì) IP 地址進(jìn)行檢查和分類。 它還執(zhí)行不同的操作,例如算術(shù)運(yùn)算、比較等。

該模塊有一個(gè)名為 ip_address() 的方法,用于驗(yàn)證 IP 地址。 該函數(shù)以字符串IP作為輸入,如果它能夠成功地將字符串IP轉(zhuǎn)換為IPv4或IPv6地址的對(duì)象,則意味著輸入的IP地址是有效的。

否則,它將引發(fā)一個(gè)值錯(cuò)誤,表明該 IP 似乎不是 IPv4 或 IPv6 地址。 我們?cè)谙旅娴拇a中導(dǎo)入了 ipaddress 模塊,并將整個(gè)代碼寫入了 try-except 塊中。

如果 IP 有效,則不會(huì)引發(fā)異常,如果無(wú)效,則值錯(cuò)誤異常將由 except 塊處理。

情況 1:對(duì)于有效的 IP 地址

#Python 3.x
import ipaddress
try:
    ip = ipaddress.ip_address("192.168.1.1")
    print("Valid IP Address")
except ValueError:
    print("Invalid IP Address")

輸出:

#Python 3.x
Valid IP Address

情況 2:IP 地址無(wú)效

#Python 3.x
import ipaddress
try:
    ip = ipaddress.ip_address("992.168.1.1")
    print("Valid IP Address")
except ValueError:
    print("Invalid IP Address")

輸出:

#Python 3.x
Invalid IP Address

使用 RegEx.search() 方法在 Python 中驗(yàn)證 IP 地址

驗(yàn)證 IP 地址的另一種方法是通過正則表達(dá)式將其與有效 IP 地址的預(yù)定義模式進(jìn)行匹配。 我們通過調(diào)用 re 模塊的 search() 方法并傳遞正則表達(dá)式和 IP 作為參數(shù),在以下代碼中驗(yàn)證了 IP 地址。

如果 IP 有效,則此方法返回 True。 否則,返回 False。

示例代碼:

#Python 3.x
import re
ip = "192.168.2.3"
regex = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$"
if(re.search(regex, ip)):
    print("Valid IP Address")
else:
    print("Invalid IP Address")

輸出:

#Python 3.x
Valid IP Address

在 Python 中手動(dòng)驗(yàn)證 IP 地址

我們可以在沒有任何內(nèi)置庫(kù)正則表達(dá)式的情況下驗(yàn)證 IP 地址。 我們創(chuàng)建了一個(gè)函數(shù),通過檢查以下代碼中的這三個(gè)條件來(lái)驗(yàn)證 IP 地址。

如果代碼中滿足以下任一條件,則 IP 無(wú)效。

  • 八位位組的數(shù)量不是四個(gè)。
  • 任何八位字節(jié)都包含除整數(shù)以外的任何內(nèi)容。
  • 八位位組內(nèi)的任何數(shù)字都在 0-255 范圍之外。

示例代碼:

#Python 3.x
def validate_ip_address(ip):
    octects = ip.split(".")
    if len(octects) != 4:
        return "Invalid IP"
    for number in octects:
        if not isinstance(int(number), int):
            return "Invalid IP"
        if int(number) < 0 or int(number) > 255:
            return "Invalid IP"
    return "Valid IP"
validate_ip_address("192.168.-1.1")

輸出:

#Python 3.x
'Invalid IP'

方法補(bǔ)充

基于Python實(shí)現(xiàn)IP地址驗(yàn)證程序

這是一個(gè)使用Python編寫的簡(jiǎn)單IP地址驗(yàn)證程序。程序接受用戶輸入的IP地址,然后對(duì)其進(jìn)行驗(yàn)證,確保每個(gè)地址段都是數(shù)字且在0到255之間。如果IP地址格式正確,程序會(huì)輸出“IP地址輸入正確”;如果格式錯(cuò)誤,程序會(huì)指出錯(cuò)誤并退出。

環(huán)境配置

Python 3.x

項(xiàng)目分布

  • 用戶輸入IP地址
  • 分割I(lǐng)P地址并驗(yàn)證段數(shù)
  • 驗(yàn)證每個(gè)地址段的內(nèi)容
  • 輸出驗(yàn)證結(jié)果

詳細(xì)代碼

cause = True  # 設(shè)置判斷網(wǎng)址是否正確的標(biāo)志變量為真
ip = input('請(qǐng)輸入IP地址:\n').strip(' ')
line = ip.split('.')
if len(line) == 4:  # 如果網(wǎng)址按“.”分為4段
    for item in line:  # 對(duì)網(wǎng)址各段進(jìn)行判斷
        if item.isdigit():  # 是否為數(shù)字
            if int(item) > 255 or int(item) < 0:
                print('IP地址段輸入大于255或小于0錯(cuò)誤,將退出!!')
                cause = False  # 網(wǎng)址錯(cuò)誤,判斷網(wǎng)址標(biāo)志變量為假
                break  # 退出循環(huán)
        else:
            print('IP地址段輸入非數(shù)字錯(cuò)誤(只能輸入數(shù)字或.),將退出!!')
            cause = False
            break
    if cause:
        print('IP地址輸入正確!!')
else:
    print('IP地址輸入多于或少于4段地址錯(cuò)誤,將退出!!')

小結(jié)

這是一個(gè)簡(jiǎn)單的Python程序,用于驗(yàn)證用戶輸入的IP地址是否格式正確。程序通過分割輸入的字符串并檢查每個(gè)部分,確保它們是有效的數(shù)字并且符合。

到此這篇關(guān)于Python中驗(yàn)證IP地址的方法詳解的文章就介紹到這了,更多相關(guān)Python驗(yàn)證IP地址內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3.x爬蟲下載網(wǎng)頁(yè)圖片的實(shí)例講解

    Python3.x爬蟲下載網(wǎng)頁(yè)圖片的實(shí)例講解

    今天小編就為大家分享一篇Python3.x爬蟲下載網(wǎng)頁(yè)圖片的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-05-05
  • Python可視化學(xué)習(xí)之seaborn繪制矩陣圖詳解

    Python可視化學(xué)習(xí)之seaborn繪制矩陣圖詳解

    矩陣圖即用一張圖繪制多個(gè)變量之間的關(guān)系,數(shù)據(jù)挖掘中常用于初期數(shù)據(jù)探索。本文介紹python中seaborn.pairplot和seaborn.PairGrid繪制矩陣圖,需要的可以參考一下
    2022-02-02
  • python實(shí)現(xiàn)將讀入的多維list轉(zhuǎn)為一維list的方法

    python實(shí)現(xiàn)將讀入的多維list轉(zhuǎn)為一維list的方法

    今天小編就為大家分享一篇python實(shí)現(xiàn)將讀入的多維list轉(zhuǎn)為一維list的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-06-06
  • python實(shí)現(xiàn)簡(jiǎn)單的tcp 文件下載

    python實(shí)現(xiàn)簡(jiǎn)單的tcp 文件下載

    這篇文章主要介紹了python如何實(shí)現(xiàn)簡(jiǎn)單的tcp文件下載,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Python字典“鍵”和“值”的排序5種方法

    Python字典“鍵”和“值”的排序5種方法

    這篇文章主要介紹了5種Python字典“鍵”和“值”的排序方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 基于Python實(shí)現(xiàn)自動(dòng)關(guān)機(jī)小工具

    基于Python實(shí)現(xiàn)自動(dòng)關(guān)機(jī)小工具

    上班族經(jīng)常會(huì)遇到這樣情況,著急下班結(jié)果將關(guān)機(jī)誤點(diǎn)成重啟,或者臨近下班又通知開會(huì),開完會(huì)已經(jīng)遲了還要去給電腦關(guān)機(jī)。今天使用PyQt5做了個(gè)自動(dòng)關(guān)機(jī)的小工具,設(shè)置好關(guān)機(jī)時(shí)間然后直接提交即可,需要的可以參考一下
    2022-10-10
  • Python第三方模塊apscheduler安裝和基本使用

    Python第三方模塊apscheduler安裝和基本使用

    本文主要介紹了Python第三方模塊apscheduler安裝和基本使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 在Python 中實(shí)現(xiàn)圖片加框和加字的方法

    在Python 中實(shí)現(xiàn)圖片加框和加字的方法

    今天小編就為大家分享一篇在Python 中實(shí)現(xiàn)圖片加框和加字的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-01-01
  • python+numpy實(shí)現(xiàn)的基本矩陣操作示例

    python+numpy實(shí)現(xiàn)的基本矩陣操作示例

    這篇文章主要介紹了python+numpy實(shí)現(xiàn)的基本矩陣操作,結(jié)合實(shí)例形式分析了Python使用numpy模塊針對(duì)矩陣進(jìn)行創(chuàng)建、增刪查改、索引、運(yùn)算相關(guān)操作實(shí)現(xiàn)技巧,注釋中包含有詳細(xì)的說(shuō)明,需要的朋友可以參考下
    2019-07-07
  • Python JSONPath進(jìn)階實(shí)戰(zhàn)之高效查詢技巧全解析

    Python JSONPath進(jìn)階實(shí)戰(zhàn)之高效查詢技巧全解析

    JSONPath 是一種用于在 JSON 文檔中定位和提取數(shù)據(jù)的查詢語(yǔ)言,類似于 XPath 在 XML 中的作用,下面小編就來(lái)和大家詳細(xì)講講JSONPath高效查詢技巧
    2025-08-08

最新評(píng)論