在Python中解析特定字符串的.txt文件时遇到问题

2024-04-19 15:37:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我在解析.txt格式的日志文件时遇到了一些问题。你知道吗

下面是我试图提取数据的日志的一部分:

CRIT   :  [2013-07-26T14:40:50-0400] msg=<POLICY ADDED>,

我想要的具体部分是CRIT和msg=POLICY。到目前为止,我得到的代码将找到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

我需要添加什么到我的列表中,以便它可以处理空白?你知道吗

谢谢你的帮助!你知道吗


Tags: 代码intesttxtaddedforpolicyline
1条回答
网友
1楼 · 发布于 2024-04-19 15:37:21

看起来你可以用正则表达式代替:

s = 'CRIT   :  [2013-07-26T14:40:50-0400] msg=<POLICY ADDED>,'    
import re
print re.match(r'(\w+).*?msg=<(.*?)>', s).groups()
# ('CRIT', 'POLICY ADDED')

相关问题 更多 >