可能重复:终止Python脚本
我有一个简单的Python脚本,如果满足条件,我想停止执行 .
例如:
done = True if done: # quit/stop/exit else: # do other stuff
本质上,我正在寻找与函数体中的'return'关键字等效的东西,它允许代码流退出函数而不执行剩余的代码 .
exit()应该做的伎俩
exit()应该这样做 .
如果整个程序应该停止使用sys.exit(),否则只使用空返回 .
尝试
sys.exit("message")
就像perl
die("message")
如果这是你正在寻找的 . 即使从导入的模块/ def /函数调用它,它也会终止脚本的执行
你可以使用:
import sys sys.exit(...)
要么:
raise SystemExit(...)
可选参数可以是退出代码或错误消息 . 两种方法都是相同的 . 我以前更喜欢sys.exit,但我最近改用了SystemExit,因为它似乎在其余的代码中更好(由于 raise 关键字) .
要退出可以使用的脚本,
import sys sys.exit()
您还可以提供退出状态值,通常为整数 .
import sys sys.exit(0)
退出为零,通常被解释为成功 . 非零代码通常被视为错误 . 默认为退出零 .
import sys sys.exit("aa! errors!")
打印“aa!errors!”并以状态代码1退出 .
os模块中还有一个_exit()函数 . sys.exit()函数引发SystemExit异常以退出程序,因此可以执行try语句和清理代码 . os._exit()版本通常不使用't do this. It just ends the program without doing any cleanup or flushing output buffers, so it shouldn' .
Python docs表示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()
8 回答
exit()应该做的伎俩
exit()应该这样做 .
如果整个程序应该停止使用sys.exit(),否则只使用空返回 .
尝试
就像perl
如果这是你正在寻找的 . 即使从导入的模块/ def /函数调用它,它也会终止脚本的执行
你可以使用:
要么:
可选参数可以是退出代码或错误消息 . 两种方法都是相同的 . 我以前更喜欢sys.exit,但我最近改用了SystemExit,因为它似乎在其余的代码中更好(由于 raise 关键字) .
要退出可以使用的脚本,
您还可以提供退出状态值,通常为整数 .
退出为零,通常被解释为成功 . 非零代码通常被视为错误 . 默认为退出零 .
打印“aa!errors!”并以状态代码1退出 .
os模块中还有一个_exit()函数 . sys.exit()函数引发SystemExit异常以退出程序,因此可以执行try语句和清理代码 . os._exit()版本通常不使用't do this. It just ends the program without doing any cleanup or flushing output buffers, so it shouldn' .
Python docs表示os._exit()是结束通过调用os.fork()创建的子进程的常规方法,因此在某些情况下它确实有用 .
您可以将脚本的主体放入函数中,然后可以从该函数返回 .