我正在使用带有瑞萨编译器的 scons 构建工具。
当构建因错误而终止时,我想知道 SCONS 的退出状态。
scons 执行项目成功后返回0。如何获取退出状态或编号来检查错误。
python中是否有任何函数可以获取它们。
谢谢
我正在使用带有瑞萨编译器的 scons 构建工具。
当构建因错误而终止时,我想知道 SCONS 的退出状态。
scons 执行项目成功后返回0。如何获取退出状态或编号来检查错误。
python中是否有任何函数可以获取它们。
谢谢
有SCons.Script.Main.exit_status
和SCons.script.Main.exit_status.code
,但是我发现它们在实践中是不可靠的(即它们通常与实际的返回码不同)。
sys.exit
通过使用适当的参数调用来设置实际的退出代码。似乎访问它的唯一方法是用sys.exit
包装器替换原来的:
import atexit
import sys
exit_code = None
original_exit = None
def my_exit(code=0):
global exit_code
exit_code = code
original_exit(code)
original_exit = sys.exit
sys.exit = my_exit
@atexit.register
def my_exit_handler():
print "Exit code is", exit_code
if __name__ == '__main__':
sys.exit(1)
如果您在发生错误时需要更多信息,您可能还需要为sys.excepthook
. 还有SCons.Script.GetBuildFailures
。