如何中止 Python 脚本的执行?

我有一个简单的 Python 脚本,如果满足一个条件,我想停止执行它。

例如:

done = True
if done:
# quit/stop/exit
else:
# do other stuff

本质上,我在寻找一些行为相当于函数体中的“ return”关键字,它允许代码流退出函数而不执行剩余的代码。

443718 次浏览

Exit ()应该可以解决这个问题

Exit ()应该可以。

如果整个程序应该停止,则使用 sys.exit () ,否则只使用空返回。

import sys
sys.exit()

您可以将脚本的主体放入一个函数中,然后从该函数返回。

def main():
done = True
if done:
return
# quit/stop/exit
else:
# do other stuff


if __name__ == "__main__":
#Run as main program
main()

要退出可以使用的脚本,

import sys
sys.exit()

您还可以提供一个退出状态值,通常是一个整数。

import sys
sys.exit(0)

以零退出,这通常被解释为成功。非零码通常被视为错误。默认值是以零退出。

import sys
sys.exit("aa! errors!")

打印“ aa! 错误!”并退出状态代码为1。

在 os 模块中还有一个 _ exit ()函数。Sys.exit ()函数引发 SystemExit 异常以退出程序,因此可以执行 try 语句和清理代码。Os. _ exit ()版本不这样做。它只是结束程序,没有做任何清理或刷新输出缓冲区,所以它通常不应该被使用。

巨蟒文件表明 os._ exit ()是结束通过调用 os.fork ()创建的子进程的正常方式,因此在某些情况下确实有用。

你可以选择:

import sys
sys.exit(...)

或:

raise SystemExit(...)

可选参数可以是退出代码或错误消息。两种方法是相同的。我过去更喜欢 sys.exit,但是最近我转向引发 SystemExit,因为它似乎在其他代码中更加突出(由于 加注关键字)。

试试看

sys.exit("message")

就像 perl

die("message")

如果这就是你想要的。即使从导入的模块/def/函数中调用脚本,它也会终止脚本的执行