2015-10-13 72 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())