Python程序退出问题
在编写Python代码时,涉及到退出程序逻辑,会使用到exit()
。在交互式控制台中,退出的提示就是使用Ctrl + D
或exit()
进行退出
当你通过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)
,通常用于指示程序由于某种类型的错误或异常情况退出。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?