python實現根據文件關鍵字進行切分為多個文件


來源:在工作過程中,需要統計一些trace信息,也就是一些打點信息,而打點是通過關鍵字進行的,因此對一個很大的文件進行分析時,想把兩個打點之間的內容單獨拷貝出來進行分析

#!/usr/bin/env python
#__*__ coding: utf-8 __*__
import re
import linecache

def fileParse():
    inputfile = input('Input SourcFile:') ##輸入源文件,如A.txt
    fp = open(inputfile, 'r')

    number =[]
    lineNumber = 1
    keyword = input('Slice Keyword:') ##輸入你要切分的關鍵字
    outfilename = input('Outfilename:')##輸出文件名,如out.txt則寫out即可,后續輸出的文件是out0.txt,out1.txt...

    for eachLine in fp:        
        m = re.search(keyword, eachLine) ##查詢關鍵字
        if m is not None:
           number.append(lineNumber) #將關鍵字的行號記錄在number中
        lineNumber = lineNumber + 1
    size = int(len(number))
    for i in range(0,size-1):
        start = number[i]
        end = number[i+1]
        destLines = linecache.getlines(inputfile)[start+1:end-1] #將行號為start+1到end-1的文件內容截取出來
        fp_w = open(outfilename + str(i)+'.txt','w') #將截取出的內容保存在輸出文件中
        for key in destLines:
            fp_w.write(key)
        fp_w.close()

if __name__ == "__main__":
    fileParse()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM