当前位置: 首页 > 面试题库 >

终止Python脚本

闻人宝
2023-03-14
问题内容

我知道die()PHP中的命令会尽早停止脚本。

如何在Python中执行此操作?


问题答案:
import sys
sys.exit()

sys模块文档中的详细信息:

sys.exit([arg])

从Python退出。这是通过引发SystemExit异常来实现的,因此可以执行 try语句的finally子句指定的清除操作,并且有可能在外部级别拦截出口尝试。

可选参数arg可以是给出退出状态的整数(默认为零),也可以是其他类型的对象。如果它是整数,则shell等将零视为“成功终止”,而将任何非零值视为“异常终止”。大多数系统要求它的范围是0-127,否则会产生不确定的结果。某些系统具有为特定的退出代码分配特定含义的约定,但是这些通常尚不完善。Unix程序通常将2用于命令行语法错误,将1用于所有其他类型的错误。如果传递了另一种类型的对象,则“无”等效于传递零,并且将任何其他对象打印到stderr并导致退出代码为1。特别是, sys.exit("some error message") 是发生错误时退出程序的快速方法。

由于exit()最终“仅”会引发异常,因此它仅在从主线程调用时才退出进程,并且不会拦截该异常。

请注意,这是退出的“不错”方式。@ glyphtwistedmatrix低于指出,如果你想要一个“硬退出”,你可以使用os._exit(错误代码),但它很可能与操作系统相关的在一定程度上(也许它不会在Windows下一个错误代码,例如),它肯定不是那么友好,因为它不允许解释器在过程终止之前进行任何清理。



 类似资料:
  • 问题内容: 我有一个长期运行的python脚本,希望能够从另一个python脚本结束。理想情况下,我正在寻找一种将进程ID设置为第一个脚本并能够从第二个脚本通过该ID查看其是否正在运行的方法。此外,我希望能够终止该长时间运行的过程。 有没有很酷的捷径可以实现这一目标? 另外,我在Windows环境中工作。 我最近在这里找到了另一种答案:检查python脚本是否正在运行 问题答案: 您可以通过以下方

  • 我写了一个程序在IDLE令牌化文本文件,它开始令牌349文本文件!我怎样才能阻止它?如何停止正在运行的Python程序?

  • 问题内容: 我用IDLE编写了一个程序来标记文本文件,然后开始标记349个文本文件!我该如何阻止它?如何停止正在运行的Python程序? 问题答案: 要停止程序,只需按 + 。

  • 目前,每当我在给我的冗长脚本上按下时,它会立即终止脚本(停止()

  • 问题内容: 我正在使用以下脚本测试Python线程: 它在Kubuntu 11.10上的Python 2.7中运行。+ 不会杀死它。我还尝试为系统信号添加处理程序,但这没有帮助: 为了杀死该进程,我将程序发送到+ 后,通过PID将其杀死,这不会被忽略。为什么+ 被如此持久地忽略?我该如何解决? 问题答案: + 终止主线程,但是因为您的线程不在守护程序模式下,所以它们继续运行,并且使进程保持活动状态

  • 背景: 我有一个运行的python脚本。它包含许多在循环中调用。 如果我按ctrlC,它只是停止执行当前的并传递到下一个。 问题: 如何停止整个脚本的执行,而不仅仅是当前调用的可执行文件的执行? 请注意,我已经仔细阅读了这里的问题/答案,但是即使使用,我也可以杀死可执行文件,但不能杀死整个脚本(我无法使用找到)。 我必须停止脚本(不重新启动系统)的唯一方法是继续在循环中按ctrl C,直到所有测试