首页 文章

如何中止Python脚本的执行? [重复]

提问于
浏览
126

可能重复:终止Python脚本

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

例如:

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

本质上,我正在寻找与函数体中的'return'关键字等效的东西,它允许代码流退出函数而不执行剩余的代码 .

8 回答

  • 4

    exit()应该做的伎俩

  • 18

    exit()应该这样做 .

  • 3

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

  • 2

    尝试

    sys.exit("message")
    

    就像perl

    die("message")
    

    如果这是你正在寻找的 . 即使从导入的模块/ def /函数调用它,它也会终止脚本的执行

  • 1

    你可以使用:

    import sys
    sys.exit(...)
    

    要么:

    raise SystemExit(...)
    

    可选参数可以是退出代码或错误消息 . 两种方法都是相同的 . 我以前更喜欢sys.exit,但我最近改用了SystemExit,因为它似乎在其余的代码中更好(由于 raise 关键字) .

  • 13

    要退出可以使用的脚本,

    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()创建的子进程的常规方法,因此在某些情况下它确实有用 .

  • 219
    import sys
    sys.exit()
    
  • 16

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

    def main():
      done = True
      if done:
        return
        # quit/stop/exit
      else:
        # do other stuff
    
    if __name__ == "__main__":
      #Run as main program
      main()
    

相关问题