最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你使用Python從文件中提取IP地址

 更新時間:2022年07月27日 10:16:07   作者:allway2  
Python提供了高效的高級數(shù)據(jù)結構,還能簡單有效地面向對象編程,下面這篇文章主要給大家介紹了關于如何使用Python從文件中提取IP地址的相關資料,需要的朋友可以參考下

讓我們看看如何使用 Python 從文件中提取 IP 地址。

算法 :  

  • 為正則表達式導入 re 模塊。
  • 使用 open() 函數(shù)打開文件。
  • 讀取文件中的所有行并將它們存儲在列表中。
  • 聲明 IP 地址的模式。正則表達式模式是: 
r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'
  • 對于列表中的每個元素,使用 search() 函數(shù)搜索模式,將 IP 地址存儲在列表中。
  • 顯示包含 IP 地址的列表。

要處理的文件是 test.txt : 

test.txt

代碼

# importing the module
import re
 
# opening and reading the file
with open('f:/test.txt', encoding='utf-8') as fh:
    fstring = fh.readlines()
 
# declaring the regex pattern for IP addresses
pattern = re.compile(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})')
 
# initializing the list object
lst = []
 
# extracting the IP addresses
for line in fstring:
    match = pattern.search(line)
    if match is not None:
        lst.append(match[0])
    else:
        lst.append(None)
 
# displaying the extracted IP addresses
print(lst)

輸出 :

上面的 Python 程序顯示文件中存在的任何類型的 IP 地址。我們還可以顯示有效的IP 地址。

有效 IP 地址的規(guī)則: 

  • 數(shù)字應在 0-255 范圍內
  • 它應該由 4 個以“.”分隔的單元格組成。

有效 IP 地址的正則表達式是:

((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5] |2[0-4][0-9]|[01]?[0-9][0-9]?)

用于有效 IP 的正則表達式說明:

由于我們不能在正則表達式中使用 0-255 范圍,我們將其分為 3 組:

  • 25[0-5] - 表示從 250 到 255 的數(shù)字
  • 2[0-4][0-9] – 表示從 200 到 249 的數(shù)字
  • [01]?[0-9][0-9]?- 表示從 0 到 199 的數(shù)字

要處理的文件是 test2.txt : 

000.0000.00.00
192.168.1.1
912.465.123.123
192.168.4.164
69.168.4.226
32.89.31.164
67.168.3.227

代碼:

# importing the module
import re
 
# opening and reading the file
with open('test2.txt', encoding='utf-8') as fh:
    string = fh.readlines()
 
# declaring the regex pattern for IP addresses
pattern = re.compile('''((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)''')
 
# initializing the list objects
valid = []
invalid = []
 
# extracting the IP addresses
for line in string:
    line = line.rstrip()
    result = pattern.search(line)
 
    # valid IP addresses
    if result:
        valid.append(line)
 
    # invalid IP addresses
    else:
        invalid.append(line)
 
# displaying the IP addresses
print("Valid IPs")
print(valid)
print("Invalid IPs")
print(invalid)

輸出 :

"C:\Program Files\Python39\python.exe" C:/Users/Administrator/PycharmProjects/pythonProject8/ExtractIP2.py
Valid IPs
['192.168.1.1', '192.168.4.164', '69.168.4.226', '32.89.31.164', '67.168.3.227']
Invalid IPs
['000.0000.00.00', '912.465.123.123']
 
進程已結束,退出代碼為 0

補充:python提取一段字符串中的ip地址

代碼如下:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import re
import os

ip_str = os.popen('cat /root/bin/ips').read()
ipList = re.findall( r'[0-9]+(?:\.[0-9]+){3}',ip_str)
print(ipList)

有時候從上游收到的ip地址很多是夾雜其他字符的,比如逗號,分號,中文字符,英文字符等等,需要提取純粹的ip地址,可以使用這種方式。已經(jīng)默認給出的字符串包含的都是正確的ip地址。如果想在確認ip地址是否合法,可以對列表ipList進行遍歷,剔除不合法的ip元素。

總結

到此這篇關于使用Python從文件中提取IP地址的文章就介紹到這了,更多相關Python提取IP地址內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解python中@classmethod和@staticmethod方法

    詳解python中@classmethod和@staticmethod方法

    在python類當中,經(jīng)常會遇到@classmethod和@staticmethod這兩個裝飾器,那么到底它們的區(qū)別和作用是啥子呢?本文結合場景分析給大家詳細講解,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • python中Switch/Case實現(xiàn)的示例代碼

    python中Switch/Case實現(xiàn)的示例代碼

    本篇文章主要介紹了python中Switch/Case實現(xiàn)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python能干什么、Python主要應用于哪些方面

    Python能干什么、Python主要應用于哪些方面

    無論是從入門級選手到專業(yè)級選手都在做的爬蟲,還是Web程序開發(fā)、桌面程序開發(fā)還是科學計算、圖像處理, Python都可以勝任。Python為我們提供了非常完善的基礎代碼庫,覆蓋了網(wǎng)絡、文件、GUI、 數(shù)據(jù)庫、文本等大量內容。用Python開發(fā),許多功能不必從零編寫
    2023-06-06
  • 30秒輕松實現(xiàn)TensorFlow物體檢測

    30秒輕松實現(xiàn)TensorFlow物體檢測

    這篇文章主要為大家詳細介紹了30秒輕松實現(xiàn)TensorFlow物體檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Django 前后臺的數(shù)據(jù)傳遞的方法

    Django 前后臺的數(shù)據(jù)傳遞的方法

    本篇文章主要介紹了Django 前后臺的數(shù)據(jù)傳遞的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 詳解Python中的正斜杠與反斜杠

    詳解Python中的正斜杠與反斜杠

    這篇文章主要介紹了詳解Python中的正斜杠與反斜杠,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python實現(xiàn)合并兩個有序鏈表的方法示例

    Python實現(xiàn)合并兩個有序鏈表的方法示例

    這篇文章主要介紹了Python實現(xiàn)合并兩個有序鏈表的方法,涉及Python操作鏈表節(jié)點的遍歷、判斷、添加等相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • pycharm專業(yè)版遠程登錄服務器的詳細教程

    pycharm專業(yè)版遠程登錄服務器的詳細教程

    這篇文章主要介紹了pycharm專業(yè)版遠程登錄服務器的詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 深入淺析Python字符編碼

    深入淺析Python字符編碼

    Python的字符串編碼規(guī)則一直讓我很頭疼,花了點時間研究了下,并不復雜,本文給大家介紹python字符編碼,感興趣的朋友一起學習吧
    2015-11-11
  • python進度條tqdm使用方式

    python進度條tqdm使用方式

    這篇文章主要介紹了python進度條tqdm使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

颍上县| 温州市| 九台市| 城口县| 永兴县| 东莞市| 新化县| 阳信县| 遵义县| 堆龙德庆县| 高平市| 武威市| 花莲市| 尉犁县| 襄樊市| 家居| 华坪县| 广南县| 长丰县| 台东市| 苍山县| 左权县| 雷波县| 乾安县| 綦江县| 阳高县| 营山县| 唐山市| 栖霞市| 壤塘县| 广灵县| 徐汇区| 东平县| 白朗县| 抚宁县| 福州市| 潜江市| 钟山县| 营山县| 巴塘县| 丹巴县|