📜  如何退出Python脚本?

📅  最后修改于: 2022-05-13 01:54:53.449000             🧑  作者: Mango

如何退出Python脚本?

退出Python脚本是指终止一个活动的Python进程的过程。在更实际的方式中,它通常是对程序的函数(或析构函数)退出例程的调用。每次Python脚本完成执行(或用完可执行代码)时,此过程都会隐式完成,但也可以通过使用某些函数来调用。在本文中,我们将了解退出Python程序、在退出程序之前执行任务以及在显示自定义(错误)消息时退出程序。

退出Python应用程序

有几种退出Python应用程序的方法。下面的文章已经非常详细地解释了其中的一些。仔细阅读它可以教育用户何时使用哪种方法,以及哪种方法最适合他们的特定用例。通常,它们的功能或多或少与退出Python程序相同。一些函数正确地做到了这一点(调用清理例程、刷新缓冲区、关闭文件对象等),而其他函数则粗暴地做到了(没有上述步骤)。使用内置方法通常更好,因为它们只需要在需要的地方调用。

例子:

Python3
print("this is the first statement")
  
exit()
  
print("this is the second statement")


Python3
import atexit
  
  
def exit_handler():
    print('My application is ending!')
  
  
atexit.register(exit_handler)
  
print('GFG!')


Python3
def main():
    asdfgh
    print("HELLO WORLD!")
  
  
if __name__ == "__main__":
    try:
        main()
  
    except:
        print("Gotcha!")


Python3
print("Hello world!")
  
exit("__PUT_ERROR_MSG_HERE__")


输出:

this is the first statement

检测脚本退出

有时需要在Python脚本终止之前执行某些任务。为此,需要检测脚本何时即将退出。 atexit是一个用于执行此任务的模块。该模块用于定义注册和注销清理函数的函数。在代码执行后调用清理函数。默认的清理函数用于清理由代码执行产生的残留物,但我们将使用它来执行我们的自定义代码。

在下面的代码中,我们将定义(并注册)一个在程序终止时调用的函数。首先,导入 atexit 模块。然后定义 exit_handler()函数。该函数包含一个打印语句。稍后通过将函数对象传递给atexit.register()函数来注册该函数。最后是调用print函数来显示GFG!在输出中。在输出中,第一行是代码中最后一个打印语句的输出。第二行包含在代码执行时调用的exit_handler函数的输出(作为清理函数)。

并非所有类型的出口都由 atexit 模块处理。

例子:

蟒蛇3

import atexit
  
  
def exit_handler():
    print('My application is ending!')
  
  
atexit.register(exit_handler)
  
print('GFG!')

输出:

GFG
My application is ending!

无错误退出

有时我们只对程序的执行或终止感兴趣,而不是其中遇到的任何错误。如果我们能够捕获在执行过程中遇到的任何异常或错误,这是可能的。这是通过利用在通用 try-except 块中找到的 except: 子句实现的。我们将利用这样一个事实,即一个空的 except 不仅可以捕获异常,还可以捕获在 try 块执行期间遇到的某些中断和错误。

在实际代码中,通常不建议使用裸的 except 子句。原因是它也隐藏了代码过程中产生的几种类型的错误。这种行为可能会使调试代码变得有点忙乱。因此,应该谨慎使用它,并且仅当 try 子句中的代码不易出错时(在大多数情况下这不是一个合理的假设)。

例子:

蟒蛇3

def main():
    asdfgh
    print("HELLO WORLD!")
  
  
if __name__ == "__main__":
    try:
        main()
  
    except:
        print("Gotcha!")

输出:

Gotcha!

有错误退出

通常,当Python程序遇到错误时,它会在控制台屏幕上显示它。但有时我们对退出应用程序感兴趣,同时显示一些表示可能发生的可能错误的文本。这个过程也可以用来退出程序并在最后显示一些文本。在下面的代码中,我们将在显示一些文本后退出Python程序。

这里可以将字符串或整数作为参数提供给 exit()函数。如果参数是字符串(表示错误 msg 等),那么它将在程序执行后输出。如果它是一个整数,那么它应该是一个 POSIX 退出代码。

例子:

蟒蛇3

print("Hello world!")
  
exit("__PUT_ERROR_MSG_HERE__")

输出:

Hello world!
__PUT_ERROR_MSG_HERE__