Python 打包成EXE运行结束不关闭窗口

在使用Python编写程序时,有时候我们希望将Python脚本打包成可执行文件(EXE)来方便用户使用。然而,有些用户可能会遇到一个问题,就是当他们运行这个EXE文件时,窗口会在程序运行结束后立即关闭,导致用户无法查看程序运行的结果。本文将介绍如何解决这个问题,让程序运行结束后不关闭窗口。

为什么会出现这个问题
在一般情况下,当我们使用Pyinstaller等工具将Python脚本打包成EXE文件时,生成的EXE文件默认是一个命令行窗口应用程序。当程序运行结束后,窗口会自动关闭。这是因为Windows系统会在程序运行结束后关闭命令行窗口。

解决方法
要解决这个问题,我们可以通过在Python脚本中插入一段代码来阻止命令行窗口在程序运行结束后关闭。具体实现方法如下:

 1 import sys
 2 
 3 def main():
 4 # 在这里编写你的程序逻辑
 5 print("Hello, World!")
 6 
 7 # 使程序在结束后不关闭窗口
 8 if sys.argv[-1] == "no_close":
 9 input("Press any key to exit...")
10 
11 if __name__ == "__main__":
12 main()

在以上代码中,我们通过判断命令行参数中是否包含"no_close"来决定是否在程序结束后等待用户输入。如果命令行参数中包含"no_close",则程序会在结束后等待用户输入任意键,否则窗口会像正常情况一样关闭。

打包成EXE文件
接下来,我们可以使用Pyinstaller将上面的Python脚本打包成EXE文件。首先安装Pyinstaller:

1 pip install pyinstaller

然后,使用以下命令将Python脚本打包成EXE文件:

1 pyinstaller --onefile your_script.py

打包完成后,在dist文件夹中会生成一个EXE文件。接着,我们可以通过以下命令来运行EXE文件:

1 your_script.exe no_close

这样,当程序运行结束后,窗口就不会自动关闭了。

总结
通过以上方法,我们可以解决Python打包成EXE后运行结束立即关闭窗口的问题。只需要在Python脚本中添加一段代码,就可以让程序运行结束后不关闭窗口,方便用户查看程序运行结果。希望本文对大家有所帮助!
-----------------------------------
©著作权归作者所有:来自51CTO博客作者mob64ca12d4a164的原创作品,请联系作者获取转载授权,否则将追究法律责任
Python 打包成EXE运行结束不关闭窗口
https://blog.51cto.com/u_16213317/10269171

posted @ 2024-07-19 15:50  锦绣良缘  阅读(1154)  评论(0)    收藏  举报