跳至主要内容

如何退出 Python:快速教程

本文将介绍终止 Python 时会发生什么、如何使用不同的退出函数和键盘快捷键退出 Python,以及常见问题与规避方法。

使用 AI 探索

很多时候,当我在Python 中完成工作后,我只需点击 IDE 角落里的关闭按钮来结束程序,由 IDE 负责终止 Python。但有些情况下,我需要以更程序化的方式退出 Python,例如直接在终端中工作,或希望程序在运行结束后自动关闭 Python。此时,Python 内置的退出函数就是理想之选。

简要回答:如何在 Python 中退出程序

在日常代码中使用 exit() 或 quit() 终止 Python 进程,在生产代码中使用 sys.exit()。仅在极少数不需要执行清理任务的情况下使用 os._exit()。以下是 exit()、quit() 和 sys.exit() 的示例:

使用 exit() 或 quit() 函数退出 Python

print("Hello World! Let's exit the program")
exit() # Use the exit() function to terminate processes in casual code
print("Welcome back World!") # this code will not run after exiting
print("Hello World! Let's exit the program")
quit() # Use the quit() function to terminate processes in casual code
print("Welcome back World!") # this code will not run after quitting

使用 sys.exit() 函数退出 Python

import sys # In some cases, you may need to import the sys module
print("Hello World! Let's exit the program")
sys.exit() # Use the sys.exit() function to terminate processes in production code
print("Welcome back World!") # this code will not run after exiting

退出 Python 意味着什么?

退出 Python 指终止 Python 解释器或会话,从而结束 Python 程序的执行。通常,这会在终止解释器和 Python 本身之前执行一些清理任务。根据您退出 Python 的方式,这些清理过程会在幕后自动完成。您可以在这门软件工程原则课程中了解其工作机制的更多细节。

退出 Python 代码的四种方法

除了 IDE 提供的方式外,还有多种退出 Python 的方法。下面我们来看看几种:

使用 exit() 或 quit() 函数

exit() 函数可用于抛出 SystemExit 异常,从而终止 Python 解释器。这主要用于交互式解释器 Shell。它接受一个可选的退出码参数,通常用于指示退出原因,也可以留空。

exit()

或

exit(0)  # Exit with a success status

quit() 函数的工作方式与 exit() 相同。

quit()

这两个函数的添加,主要是为了让用户能轻松退出 Python 终端。如果不了解如何关闭,很多人会直觉地输入“exit”或“quit”作为退出的尝试。

需要注意的是,exit() 和 quit() 都依赖于 site 模块,而该模块并非始终可用。因此,不建议在生产代码中使用它们。

在生产代码中使用 sys.exit() 函数

在生产代码中,通常使用 sys 模块中的 sys.exit() 函数来退出 Python,从而避免对 site 模块的依赖。sys 模块通常可用,但需要先导入。该函数同样接受可选的退出码参数。

与 exit() 和 quit() 类似,sys.exit() 会抛出 SystemExit 异常以终止 Python。

import sys # In some cases, you may need to import the sys module
sys.exit()

使用 os._exit() 快速退出 Python

除了 exit() 和 quit(),Python 还提供了 os._exit(),用于以较少功能快速终止。与会抛出 SystemExit 异常并执行若干清理任务的 exit() 和 quit() 不同,os._exit() 会立即终止 Python 进程,而不调用额外的清理步骤。若想了解更多清理流程,请阅读这篇关于 Python 异常与错误处理的文章,或查看 Datacamp 的这门面向开发者的 Python 入门课程。

当需要立刻终止(例如解释器必须突然关闭)时,该函数非常有用。但请谨慎使用;它会绕过 Python 运行时的常规清理流程,可能为后续埋下隐患。绝大多数情况下,使用 exit()、quit() 或 sys.exit() 会是更好的选择。

通过键盘快捷键退出 Python

在 Python 解释器或终端中,您可以在 Windows 上按 Ctrl + Z,或在 macOS 上按 Ctrl + D 来退出 Python。这些快捷键会向解释器发出文件结束的信号,并指示其终止 Python。与 os._exit() 类似,此方法不会执行任何清理任务。如果要使用这种方式,您需要确保在代码中显式处理相应的清理工作。

常见问题

退出程序时最重要的考量是清理任务。如果未完成清理,可能会导致内存泄漏、数据丢失或损坏,以及一系列其他问题。如果您的程序开始出现异常行为,请检查是否在退出时正确执行了清理任务。

另一个常见问题是在退出 Python 时,无意中终止了错误的会话或解释器,尤其是在存在多个活动会话的环境中。使用键盘快捷键或退出函数时需谨慎,确保退出的是预期的会话。

此外,您可能会在没有安装 site 模块的系统上工作,这会使 exit() 和 quit() 失效。若遇到这种情况,请务必使用 sys.exit(),因为 sys 模块始终会被安装。

结语

通过编程方式退出 Python 是Python 编程的重要一环。了解各种退出 Python 的方法及其实际应用,有助于您更有效地管理 Python 代码的执行与终止。

想进一步了解 Python 解释器的使用,请参阅这份Python 安装与配置指南或这篇关于运行 Python 脚本的文章。想学习如何使用 Python Shell,可查看这门Shell 入门课程或这门Shell 中的数据处理课程。如果您有意成为一名 Python 程序员,欢迎了解 DataCamp 的 Python 程序员职业路径。

Amberle McKee

作者

Amberle McKee

我拥有博士学位,在生物研究环境中从事数据相关工作已有13年。我使用包括 Python、MATLAB 和 R 在内的多种编程语言开发软件。我热衷于与世界分享我对学习的热爱。

主题