0
我可能会在这里错误的方向寻找一些帮助。读取日志文件并只打印第一个匹配
基本上现在,我有一个脚本,打开一个日志文件,并挑出任何符合值的行。用这些行,我然后检查是否找到了字典中的一个键,然后打印该行。 我不想让它打印每一行,只要它匹配一次。
到目前为止,我有这个,但似乎无法break
为了只显示一个匹配
在这个例子中,我syslog
文件是:
PHASE 1
PHASE 2
PHASE 2
代码:
phase_dict = {
"PHASE 1": "Phase 1 completed successfully: ",
"PHASE 2": "Phase 2 completed successfully: ",
}
with FileReadBackwards('syslog', encoding="utf-8") as frb:
for line in frb:
if re.findall('first_match', line):
for key,value in phase_dict.iteritems():
if re.search(key, line):
print value + line.rstrip()
我的输出显示:
Phase 2 completed successfully: PHASE 2
Phase 2 completed successfully: PHASE 2
Phase 1 completed successfully: PHASE 1
我试图让它只显示每个匹配。
预期输出:
Phase 2 completed successfully: PHASE 2
Phase 1 completed successfully: PHASE 1
我不知道如果我要下去的最佳路线翻翻字典,去和使用for
循环
任何帮助,将不胜感激
干杯!
在世界上什么是'FileReadBackwards'? –
我正在使用[this](https://pypi.python.org/pypi/file-read-backwards) – Kev