Python:如何使用标识符在日志中搜索值



所以我想做一个程序,可以从日志(.txt)中抓取一个数值。每个值都与一个日志标识符相关联。下面是我的日志文件(名为test.txt)的内容:

Log:
ID        Key           Value_1 Value_2
f1     time (sec)       1000     2000
f2     # of people       20       31
f3   # tickets written   27       87

所以我想从ID f3中获取值27。有办法做到这一点吗?我有一个想法,使用readlines()和逐行循环,直到找到ID,但不确定从那里做什么。以下是目前为止的内容:

with open('test.txt') as f:
data = f.readlines()
for line in data:
if 'f3' in line:
# Code to retrieve value 27

您可以使用regex

import re
with open('test.txt') as f:
for line in f:
if line[0:2] == "f3":
print(re.search("d+", line[2:]).group(0))
27

Regex是一个字符串匹配工具。模式d+告诉regex查找至少一个数字。因此Regex (re)搜索line[2:](2:跳过前两个字母)并保存所有匹配(numbers)。然后.group(0)首先获取结果。即27

在线演示

相关内容

  • 没有找到相关文章

最新更新