我在解析一个.txt格式的日志文件时遇到了一些问题。
以下是我正在尝试提取数据的日志的一部分:
CRIT : [2013-07-26T14:40:50-0400] msg=<POLICY ADDED>,
我想要的具体部分是CRIT和msg = POLICY ADDED。到目前为止我得到的代码将找到CRIT字符串,但不会找到msg =部分。我相信这与两个词之间的空白有关。
这是我到目前为止的代码:
#!/usr/bin/python
test=open("samhain.txt", "r").readlines()
KEYWORDS= ['CRIT','msg=<POLICY ADDED>']
counterline=[]
counter=0
for line in test:
for word in line.split():
counter+=1
if word in KEYWORDS:
counterline.append(counter)
print word
我需要将哪些内容添加到列表中才能处理空格?
感谢您的帮助!
答案 0 :(得分:0)
看起来你可以使用正则表达式:
s = 'CRIT : [2013-07-26T14:40:50-0400] msg=<POLICY ADDED>,'
import re
print re.match(r'(\w+).*?msg=<(.*?)>', s).groups()
# ('CRIT', 'POLICY ADDED')