2015-10-13 88 views
-5

我需要編寫一個腳本讓我解析一個文本文件。每次我有ACTION TYPE: Insertion我都需要檢索下面的TIME值。文本解析和檢索

ACTION TYPE: Insertion 
ISSUES: No 
USER: ADMINISTRATOR 
TIME: 2015-10-09 10.50.12 
ACTION TYPE: Edition 
ISSUES: No 
USER: ADMINISTRATOR 
TIME: 2015-10-09 11.21.34 
ACTION TYPE: Insertion 
ISSUES: No 
USER: ADMINISTRATOR 
TIME: 2015-10-09 12.19.22 
+3

我正在投票結束這個題目,因爲這不是一個代碼寫作或教程服務 – jonrsharpe

+1

如果你問如何打開一個文件並閱讀它的內容,[The Python Tutorial](https:/ /docs.python.org/3/tutorial/index.html)應該對你有用。 – Kevin

+0

文件有多大? –

回答

1

對於將整個文件可以很容易地加載到內存中的小文件,下面的方法可以用於:

import re 

with open('input.txt', 'r') as f_input: 
    print re.findall(r'ACTION TYPE: Insertion.*?TIME: (.*?)$', f_input.read(), re.M+re.S) 

這將顯示您的樣本如下:

['2015-10-09 10.50.12', '2015-10-09 12.19.22'] 
0

與Martin Evans一樣的想法,但帶有更簡單的模式:

import re 
with open('yourfile.txt', 'r') as f: 
    pat = re.compile(r'ACTION TYPE: Insertion\nISSUES: .*\nUSER: .*\nTIME: (.*)') 
    insertion_times = re.findall(pat, f.read())