所以我想做一个程序,可以从日志(.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
在线演示