python截取兩個單詞之間的內(nèi)容方法
1. __init__ 初始化文件路徑,關(guān)鍵字1,關(guān)鍵字2;
2. key_match 使用with open 方法,以二進制方式(也可以改成utf-8,GB2312)讀取文件內(nèi)容(支持txt/log格式);
3. buffer = f.read() 一致性讀取到buffer中,讀取超大文件會發(fā)生MemoryError(可以設(shè)置每次讀取的size或切割文件)。
#!/usr/bin/python3 # -*- coding: utf-8 -*- import re #文本所在路徑,引號前加r指按路徑處理 #關(guān)鍵字word1,word2,換關(guān)鍵字,需修改引號間的內(nèi)容 class match2Words(object): lines=0 def __init__(self,path,word1,word2): self.path = path self.word1 = word1 self.word2 = word2 def key_match(self): with open(self.path,'rb') as f: buffer = f.read() pattern = re.compile(self.word1+b'(.*?)'+self.word2,re.S) result = pattern.findall(buffer) if result != []: print(result) #self.lines +=1 #print("匹配到的行數(shù):",self.lines) else: print("沒有找到你輸入的關(guān)鍵字") path = input("請輸入要分析的log地址:") word1 = b"begin" word2 = b"end" matchWords = match2Words(path, word1, word2) matchWords.key_match()
以上這篇python截取兩個單詞之間的內(nèi)容方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
學(xué)會迭代器設(shè)計模式,幫你大幅提升python性能
這篇文章主要介紹了python 迭代器設(shè)計模式的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01python數(shù)據(jù)分析之如何刪除value=0的行
這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之如何刪除value=0的行的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-12-12Python3 pyecharts生成Html文件柱狀圖及折線圖代碼實例
這篇文章主要介紹了Python3 pyecharts生成Html文件柱狀圖及折線圖代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09python實現(xiàn)圖像處理之PiL依賴庫的案例應(yīng)用詳解
這篇文章主要介紹了python實現(xiàn)圖像處理之PiL依賴庫的案例應(yīng)用詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07