我有一个包含以下内容的日志文件。 我喜欢读书 Iteration value 和 detection_eval 价值
I0704 18:10:31.097334 2421 solver.cpp:433] Iteration 200, Testing net (#0) I0704 18:10:31.149454 2421 net.cpp:693] Ignoring source layer mbox_loss I0704 18:10:40.241916 2421 solver.cpp:546] Test net output #0: detection_eval = 0.00273318
我做的
accuracy_pattern = r"Iteration (?P<iter_num>\d+), Testing net \(#0\)\n.* detection_eval = (?P<accuracy>[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?)"
但什么都没读,有什么问题吗?
编辑: 然后我把精确模式读成数组
for r in re.findall(accuracy_pattern, log): iteration = int(r[0]) accuracy = float(r[1]) * 100
日志包含所有文件内容,读取如下
with open(log_file, 'r') as log_file2: log = log_file2.read()