Ray*_*ega 144 python syntax scripting exit
可能重复:
终止Python脚本
我有一个简单的Python脚本,如果满足条件,我想停止执行.
例如:
done = True
if done:
# quit/stop/exit
else:
# do other stuff
Run Code Online (Sandbox Code Playgroud)
本质上,我正在寻找与函数体中的'return'关键字等效的东西,它允许代码流退出函数而不执行剩余的代码.
rya*_*n_s 249
要退出可以使用的脚本,
import sys
sys.exit()
Run Code Online (Sandbox Code Playgroud)
您还可以提供退出状态值,通常为整数.
import sys
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
退出为零,通常被解释为成功.非零代码通常被视为错误.默认为退出零.
import sys
sys.exit("aa! errors!")
Run Code Online (Sandbox Code Playgroud)
打印"aa!errors!" 并以状态代码1退出.
os模块中还有一个_exit()函数.该sys.exit()函数抛出一个SystemExit异常退出程序,所以尝试语句和清理代码可以执行.os._exit()版本不会这样做.它只是结束程序而不进行任何清理或刷新输出缓冲区,因此通常不应该使用它.
在Python文档表明,os._exit()是结束),可调用创建os.fork(子进程以正常的方式,所以它确实有在某些情况下使用.
Dav*_*cke 17
您可以将脚本的主体放入函数中,然后可以从该函数返回.
def main():
done = True
if done:
return
# quit/stop/exit
else:
# do other stuff
if __name__ == "__main__":
#Run as main program
main()
Run Code Online (Sandbox Code Playgroud)
efo*_*nis 15
你可以使用:
import sys
sys.exit(...)
Run Code Online (Sandbox Code Playgroud)
要么:
raise SystemExit(...)
Run Code Online (Sandbox Code Playgroud)
可选参数可以是退出代码或错误消息.两种方法都是相同的.我以前更喜欢sys.exit,但我最近改用了SystemExit,因为它似乎在其余的代码中更好(由于raise关键字).
尝试
sys.exit("message")
Run Code Online (Sandbox Code Playgroud)
它就像 perl
die("message")
Run Code Online (Sandbox Code Playgroud)
如果这就是你要找的。它终止脚本的执行,即使它是从导入的模块 / def / 函数中调用的