Python程序退出问题

在编写Python代码时,涉及到退出程序逻辑,会使用到exit()。在交互式控制台中,退出的提示就是使用Ctrl + Dexit()进行退出

当你通过python script.py命令手动执行代码时,执行到exit()这里,程序会和预期一样退出

可是当你使用pyinstaller将代码打包成了一个可执行程序,问题就出现了。程序执行到exit()的时候,抛出了一个错误:NameError: name 'exit' is not defined

它告诉你:exit这个函数没有被定义。

这是因为标准的Python库中并没有名为exit的内置函数,打包前执行程序时调用的exit()实际上是交互式环境提供的扩展功能,使用pyinstaller打包并不会将它打包进去。

如何解决这一问题?

可以使用sys.exit()方法(使用前别忘了import sys)。

sys.exit()可以接收一个可选参数,表示程序的退出状态码。

  • 如果没有参数传入或传入的参数为0,即sys.exit()sys.exit(0),表示程序正常退出。

  • 如果传入的是一个非零参数,如sys.exit(-1),通常用于指示程序由于某种类型的错误或异常情况退出。

posted @ 2024-03-19 09:58  Charramma  阅读(4)  评论(0编辑  收藏  举报