others - 如何中止执行Python脚本程序?


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

例如:


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

时间:

要退出脚本,你可以使用,


import sys
sys.exit()

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


import sys
sys.exit(0)

退出为零,通常被解释为成功,非零代码通常被视为错误,默认情况下,退出为零。


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

打印"errors 并且退出,状态代码为1,

操作系统模块中还有一个_exit()函数,sys.exit()函数会引发一个SystemExit异常来退出程序,因此,语句和清理代码可以执行,os._exit()版本不执行这个操作,它在不进行任何清理或刷新输出缓冲区的情况下结束程序,所以,通常不应该使用。

Python文档表示os._exit()是通过调用os.fork()来结束子进程的正常方法,因此它在某些情况下具有用途。

你可以将脚本的主体放入函数中,然后就可以从函数中返回。


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(...)

或者:


raise SystemExit(...)

可选参数可以是退出代码或错误消息,两种方法都是一样的,我以前喜欢sys.exit,我最近切换到了SystemExit ,它似乎在别的代码中表现得更好。

尝试

 
sys.exit("message")

 

它就像perl

 
die("message")

 

如果这是你正在寻找的。它终止脚本的执行,甚至是从导入的模块/def/function中调用,

...