溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何實現(xiàn)根據(jù)文件關(guān)鍵字進行切分為多個文件

發(fā)布時間:2021-04-09 11:43:14 來源:億速云 閱讀:382 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下python如何實現(xiàn)根據(jù)文件關(guān)鍵字進行切分為多個文件,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

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

#!/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:') ##輸入你要切分的關(guān)鍵字
 outfilename = input('Outfilename:')##輸出文件名,如out.txt則寫out即可,后續(xù)輸出的文件是out0.txt,out1.txt...
 
 for eachLine in fp:  
  m = re.search(keyword, eachLine) ##查詢關(guān)鍵字
  if m is not None:
   number.append(lineNumber) #將關(guān)鍵字的行號記錄在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的文件內(nèi)容截取出來
  fp_w = open(outfilename + str(i)+'.txt','w') #將截取出的內(nèi)容保存在輸出文件中
  for key in destLines:
   fp_w.write(key)
  fp_w.close()
 
if __name__ == "__main__":
 fileParse()

看完了這篇文章,相信你對“python如何實現(xiàn)根據(jù)文件關(guān)鍵字進行切分為多個文件”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI