终止一个Python脚本

我知道PHP中的die()命令可以尽早停止脚本。

我怎样才能在Python中做到这一点?


import sys
sys.exit()

来自sys模块文档的详细信息:

sys. exit ([arg])

从Python退出。 这是通过引发SystemExit异常实现的,所以try语句的finally子句指定的清理操作得到遵守,并且可以在外层拦截退出尝试。

可选参数arg可以是一个给出退出状态的整数(默认为零)或其他类型的对象。 如果它是一个整数,零被认为是“成功终止”,并且任何非零值被shell等认为是“异常终止”。 大多数系统要求它在0-127范围内,否则会产生未定义的结果。 一些系统具有为特定退出代码分配特定含义的惯例,但这些通常是欠发达的; Unix程序通常使用2作为命令行语法错误,1使用其他类型的错误。 如果传递另一种类型的对象,则None等同于传递零,并且将其他任何对象打印到stderr并导致退出代码为1.特别是, sys.exit("some error message")是一种快速发生错误时退出程序。

由于exit()最终“唯一”引发了一个异常,因此它只会在主线程调用时退出进程,并且异常不会被拦截。

请注意,这是退出的“好方法”。 下面的@ glyphtwistedmatrix指出,如果你想要一个'硬性退出',你可以使用os._exit(errorcode),尽管它在某种程度上可能是特定于os的(例如,它可能不会在windows下使用错误代码),而且它肯定不那么友好,因为它不会让翻译在进程死亡之前做任何清理工作。


尽早终止Python脚本的一种简单方法是使用内置函数quit()。 没有必要导入任何库,而且它是高效和简单的。

例:

#do stuff
if this == that:
  quit()

另一种方法是:

raise SystemExit
链接地址: http://www.djcxy.com/p/44327.html

上一篇: Terminating a Python script

下一篇: Maven (m2e) is not executing ant task