2015-11-07 122 views
0

我有一個巨大的日誌文件,我想用python解析。該文件包含從這個log.txt的工作和非工作音頻/視頻/圖像文件使用python解析文本文件

log.txt的

filename = abc.mp4 
played correctly 

filname = cdf.wav 
failed 

filename = rtg.mp3 
failed 

的內容現在的數據如何找出失敗的文件名 我試圖重新。搜索,但好像我沒有這種做法 所以我用任何地點到達下面的方法,但到目前爲止我不能順便找出文件名

f = open('log.txt', 'r') 
for i in f.realines(): 
    if "failed" in i: 
     print "failed files: " 
f.close() 

回答

3

保存到文件名暫時的參考,然後加入它到list如果它失敗:

with open('log.txt') as f: 
    result = [] 
    for line in f: 
     line = line.strip() 
     if not line: 
      continue 
     if '=' in line: 
      name = line.split('= ')[1] 
     if line == 'failed': 
      result.append(name) 

以上後,result將是一個list與所有失敗的文件名。

0

您可以簡單地通過添加dump變量來修改您的代碼。

In[6]: f = open('test', 'r') 
for i in f.readlines(): 
    if "failed" in i : 
     print "failed files: ", dump.split('= ')[1] 
    dump = i 
f.close() 

Output 
failed files: cdf.wav 
failed files: rtg.mp3