【发布时间】:2014-02-23 03:04:49
【问题描述】:
我是使用 python 的初学者。我想创建一个正则表达式来从 python 中的编译器输出中捕获错误消息。我该怎么做?
例如,如果编译器输出如下错误信息:
Traceback (most recent call last):
File "sample.py", line 1, in <module>
hello
NameError: name 'hello' is not defined
我希望只能从输出中提取以下字符串:
NameError: name 'hello' is not defined
在这种情况下,只有一个错误,但是我想提取编译器输出的所有错误。我如何使用正则表达式来做到这一点?或者如果有更简单的方法,我愿意接受建议
【问题讨论】:
-
NameError是运行时错误,而不是编译时错误。 Python 只会向您显示遇到的第一个错误,除非您正在捕获异常并将其回溯显式写入控制台。 -
有没有办法使用正则表达式提取此错误,我将控制台输出存储在 txt 中
-
错误文本在行首总是以
Traceback开头,但next 行开头的文本除外。从那里推断。 :-)
标签: python regex compiler-construction