Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python正则表达式从回溯中提取错误细节?_Python_Regex_Traceback - Fatal编程技术网

如何使用python正则表达式从回溯中提取错误细节?

如何使用python正则表达式从回溯中提取错误细节?,python,regex,traceback,Python,Regex,Traceback,我想从回溯中提取错误细节,这些回溯是使用从日志文件中提取的,有很多不同类型的回溯,如下所示: Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_c

我想从回溯中提取错误细节,这些回溯是使用从日志文件中提取的,有很多不同类型的回溯,如下所示:

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/root/env/common/test/test/__main__.py", line 5, in <module>
    main()
  File "/root/env/common/test/test/cli/parser.py", line 55, in main
    run_script(args)
  File "/root/env/common/test/test/cli/runner.py", line 124, in run_script
    exec_script(args.script, scope=globals(), root=True)
  File "/root/workspace/group/test_regression_utils.py", line 123, in exec_script
    cli_exec_script(*args,**kwargs)
  File "/root/env/common/test/test/cli/runner.py", line 186, in exec_script
    exec(compile(code, scriptpath, 'exec')) in scope
  File "shiju_12.py", line 30, in <module>

  File "/root/moaworkspace/group/testscript/utils/shiju_public.py", line 37, in shiju_move

Exception: close failed!
EndOfStream
EndOfStream
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/root/env/common/test/test/__main__.py", line 5, in <module>
    main()
  File "/root/env/common/test/test/cli/parser.py", line 55, in main
    run_script(args)
  File "/root/env/common/test/test/cli/runner.py", line 124, in run_script
    exec_script(args.script, scope=globals(), root=True)
  File "/root/env/common/test/test/cli/runner.py", line 186, in exec_script
    exec(compile(code, scriptpath, 'exec')) in scope
  File "/root/env/common/mator/mator/mator.py", line 520, in start
    raise IOError("RPC server not started!")
IOError: RPC server not started
我尝试了
detail\u regex=r'Traceback.*\n(\s+.*\n)*(.*)\n*'
第二个回溯是正确的,但第一个回溯结果是
(“异常:关闭失败!”,“EndOfStream”)


有什么想法吗

如果我将您的模式更改为
Traceback.*\n(\s+.*\n)*(.*?)\n*
,它适用于给定的示例。不过,我不确定它是否能完全解决您的问题。

检查回溯对象可能是一个更好的主意(虽然我记不清它们的确切名称)。噢,回溯是从日志文件中获得的。链接指向此answer@SwiftsNamesake我已更新您可以使用前瞻来定义何时停止匹配。
("XXXX", "Exception: close failed!")
("XXXX","IOError: RPC server not started")