亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中驗證IP地址的方法詳解

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

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

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

 在本指南中,我們將驗證 IPv4 地址。

在 Python 中驗證 IP 地址

驗證IP地址意味著檢查輸入的IP是否有效。

例如:

Input: 192.168.52.124
Output: Valid IP address

Input: 656.1.2.3
Output: Invalid IP address

使用 ipaddress 模塊在 Python 中驗證 IP 地址

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

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

否則,它將引發(fā)一個值錯誤,表明該 IP 似乎不是 IPv4 或 IPv6 地址。 我們在下面的代碼中導入了 ipaddress 模塊,并將整個代碼寫入了 try-except 塊中。

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

情況 1:對于有效的 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 地址無效

#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 中驗證 IP 地址

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

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

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

  • 八位位組的數(shù)量不是四個。
  • 任何八位字節(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'

方法補充

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

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

環(huán)境配置

Python 3.x

項目分布

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

詳細代碼

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

小結(jié)

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

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

相關(guān)文章

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

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

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

    Python可視化學習之seaborn繪制矩陣圖詳解

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

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

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

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

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

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

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

    基于Python實現(xiàn)自動關(guān)機小工具

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

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

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

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

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

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

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

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

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

最新評論