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

目錄

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

算法 :  

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

要處理得文件是 test.txt : 

test.txt

代碼

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

輸出 :

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

有效 IP 地址得規則: 

  • 數字應在 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 得數字
  • 2[0-4][0-9] – 表示從 200 到 249 得數字
  • [01]?[0-9][0-9]?- 表示從 0 到 199 得數字

要處理得文件是 test2.txt : 

000.0000.00.00192.168.1.1912.465.123.123192.168.4.16469.168.4.22632.89.31.16467.168.3.227

代碼:

# importing the moduleimport re # opening and reading the filewith open('test2.txt', encoding='utf-8') as fh:    string = fh.readlines() # declaring the regex pattern for IP addressespattern = 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 objectsvalid = []invalid = [] # extracting the IP addressesfor 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 addressesprint("Valid IPs")print(valid)print("Invalid IPs")print(invalid)

輸出 :

"C:Program FilesPython39python.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 reimport osip_str = os.popen('cat /root/bin/ips').read()ipList = re.findall( r'[0-9]+(?:.[0-9]+){3}',ip_str)print(ipList)

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

總結

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

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 国产精品极品美女自在线| 国产片免费在线观看| 狠狠色噜噜狠狠狠狠98| 中文字幕av免费专区| 国产偷国产偷亚洲高清人| 明星换脸高清一区二区| 伊人影院中文字幕| 亚洲国产日韩在线成人蜜芽| 国产精品视频免费播放| 欧美午夜一区二区福利视频| 男人天堂2023| 久久天天躁狠狠躁夜夜呲| 国产成人久久精品区一区二区| 日本理论在线看片| 精品成人一区二区三区四区| 一区二区三区内射美女毛片| 你懂的国产精品| 国产精品无码V在线观看| 欧美变态柔术ⅹxxx另类| 香蕉视频在线观看男女| 中文永久免费观看网站| 免费a级毛片在线观看| 国产精品福利午夜在线观看| 日韩精品国产自在久久现线拍| 自慰被室友看见强行嗯啊男男| pornocolombianovideosjapan| 亚洲成a人片在线观看www| 国产商场真空露出在线观看| 成人免费网站视频www| 特级毛片爽www免费版| 国产精品揄拍100视频| 最新国产精品自拍| 精品国产美女福利到在线不卡| 69堂在线观看| 久久99精品国产免费观看| 亚洲色欲色欲综合网站| 国产成人午夜福利在线播放| 小少呦萝粉国产| 日韩av片无码一区二区三区不卡| 男人肌肌捅女人肌肌视频| 国产东北老头老太露脸|