在我的测试日志文件中,我想找到这两者之间的所有行,它可以出现不止一次,我也不想从输出中排除这两个匹配
--- /b/act-builder/sandboxes/ACT-SB-RELEASE_174_THROTTLE-28378/src/junos/usr.sbin/rpd/lib/policy/atf-tests.host,linux ---
*** [atf-run.log]错误代码
第一行模式将始终如“--- / b / act-builder / sandboxes /”
并以“Linux ---”结束
,第二个patern将是“错误代码”
我的解决方案无效: -
QCustomPlot
答案 0 :(得分:0)
要将包含Error code
的行中的所有前一行捕获回包含--- xxx xxxx xxxx ---
的上一行,可以按如下方式执行非正则表达式解决方案:
previous = []
with open('atf_log_28378.txt') as f_input:
for line in f_input:
if line.startswith('--- '):
previous = [line]
elif 'Error code' in line:
print ''.join(previous) + line
previous = []
elif previous:
previous.append(line)
这将显示如下条目:
--- /b/act-builder/sandboxes/ACT-SB-RELEASE_174_THROTTLE-28378/src/ui/lib/libjunos-dynamic-render/tests.host,linux ---
Nothing interesting in stderr hello
Failed:../../../../../../src/ui/lib/libjunos-dynamic-render/tests/drt_main.cpp:95: dri_get_dto_count() == 0
****
Failed: 1 errors
Thread test done
*** [all] Error code 255 (ignored)
--- /b/act-builder/sandboxes/ACT-SB-RELEASE_174_THROTTLE-28378/src/junos/usr.sbin/rpd/lib/trace/tests.host,linux ---
test1: [0.039987s] Failed: Test program received signal 6
test2: [0.039151s] Failed: Test program received signal 6
[0.079371s]
Failed test cases:
tmtest:test1, tmtest:test2
Summary for 1 test programs:
0 passed test cases.
2 failed test cases.
0 expected failed test cases.
0 skipped test cases.
*** [atf-run.log] Error code 1 (ignored)