【问题标题】:how do I halt execution in a python script? [duplicate]如何在 python 脚本中停止执行? [复制]
【发布时间】:2011-03-23 12:52:11
【问题描述】:

可能的重复:
Programatically stop execution of python script?
Terminating a Python script

我想打印一个值,然后停止执行脚本。

我只使用 return 吗?

【问题讨论】:

  • 终止 Python 脚本的方法有多种。你能发布一些代码来提供一些上下文吗?
  • 什么鬼——你怎么有 5.7K 的代表并问这个问题?
  • @John He 有 726 个问题和 4 个答案——你不需要回答问题来积累代表
  • @Mark 做得很好;投票关闭除 73663 以外的所有项目

标签: python


【解决方案1】:

您可以在 main 函数中使用 return,但如果在调用 main 后有更多代码,则不能保证退出脚本。

几乎总是有效的最简单的是sys.exit()

import sys
sys.exit()

其他可能性:

  • 引发未捕获的错误。
  • 让执行点到达脚本的末尾。
  • 如果您在主线程以外的线程中,请使用thread.interrupt_main()

【讨论】:

  • 你只能在函数中使用return,只是让执行点到达脚本的末尾并不是真正的“停止执行”
  • @Michael Mrozek:我不同意 - 到达脚本末尾是停止执行的一种方式。如果他只想打印“Hello world”然后结束脚本,那么这实际上是最pythonic的停止执行的方式。
【解决方案2】:

sys 模块中有exit 函数(docs):

import sys
sys.exit( 0 ) # 0 will be passed to OS

你也可以

raise SystemExit

或任何其他不会被捕获的异常。

【讨论】:

    【解决方案3】:

    【讨论】:

    • 提一下您需要导入 sys.提及您需要括号来实际调用该函数也可能是一个好主意。没有括号,它什么也做不了。
    • +1 阅读@Mark 的评论;有点懒得编辑我的帖子。
    猜你喜欢
    • 2010-09-15
    • 1970-01-01
    • 2010-10-07
    • 2023-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多