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

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

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

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

算法 :  

  • 為正則表達(dá)式導(dǎo)入 re 模塊。
  • 使用 open() 函數(shù)打開文件。
  • 讀取文件中的所有行并將它們存儲在列表中。
  • 聲明 IP 地址的模式。正則表達(dá)式模式是: 
r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'
  • 對于列表中的每個(gè)元素,使用 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ù)字應(yīng)在 0-255 范圍內(nèi)
  • 它應(yīng)該由 4 個(gè)以“.”分隔的單元格組成。

有效 IP 地址的正則表達(dá)式是:

((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 的正則表達(dá)式說明:

由于我們不能在正則表達(dá)式中使用 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']
 
進(jìn)程已結(jié)束,退出代碼為 0

補(bǔ)充: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)

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

總結(jié)

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

相關(guān)文章

  • 解決tensorflow 與keras 混用之坑

    解決tensorflow 與keras 混用之坑

    這篇文章主要介紹了解決tensorflow 與keras 混用之坑,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 如何將寫好的pygame游戲打包成exe文件

    如何將寫好的pygame游戲打包成exe文件

    這篇文章主要介紹了如何將寫好的pygame游戲打包成exe文件,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python 生成正態(tài)分布數(shù)據(jù),并繪圖和解析

    python 生成正態(tài)分布數(shù)據(jù),并繪圖和解析

    這篇文章主要介紹了python 生成正態(tài)分布數(shù)據(jù),并繪圖和解析,幫助大家更好的利用python進(jìn)行數(shù)據(jù)分析,感興趣的朋友可以了解下
    2020-12-12
  • pytorch之關(guān)于PyTorch結(jié)構(gòu)介紹

    pytorch之關(guān)于PyTorch結(jié)構(gòu)介紹

    這篇文章主要介紹了pytorch之關(guān)于PyTorch結(jié)構(gòu)的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python繪制柱狀圖可視化神器pyecharts

    Python繪制柱狀圖可視化神器pyecharts

    這篇文章主要介紹了Python繪制柱狀圖可視化神器pyecharts,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • python 瀑布線指標(biāo)編寫實(shí)例

    python 瀑布線指標(biāo)編寫實(shí)例

    這篇文章主要介紹了python 瀑布線指標(biāo)編寫實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 對python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解

    對python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解

    今天小編就為大家分享一篇對python 數(shù)據(jù)處理中的LabelEncoder 和 OneHotEncoder詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • PyTorch一小時(shí)掌握之a(chǎn)utograd機(jī)制篇

    PyTorch一小時(shí)掌握之a(chǎn)utograd機(jī)制篇

    這篇文章主要介紹了PyTorch一小時(shí)掌握之a(chǎn)utograd機(jī)制篇,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python中Scipy庫在信號處理中的應(yīng)用詳解

    Python中Scipy庫在信號處理中的應(yīng)用詳解

    信號處理作為數(shù)字信號處理領(lǐng)域的關(guān)鍵技術(shù),涵蓋了從信號獲取、傳輸、存儲到最終應(yīng)用的一系列處理步驟,在這篇博客中,我們將深入探討Python中Scipy庫在信號處理領(lǐng)域的應(yīng)用,需要的朋友可以參考下
    2023-12-12
  • 使用Python腳本對Linux服務(wù)器進(jìn)行監(jiān)控的教程

    使用Python腳本對Linux服務(wù)器進(jìn)行監(jiān)控的教程

    這篇文章主要介紹了使用Python程序?qū)inux服務(wù)器進(jìn)行監(jiān)控的教程,主要基于Python2.7的版本,需要的朋友可以參考下
    2015-04-04

最新評論