我正在编写一个Python程序,该程序既可以在命令行中使用,也可以作为交互式窗口使用。 (这是一个坏主意吗?)如果提供了命令行参数,它将执行任务,然后输出“成功”或“失败”。否则,它将启动一个交互式窗口。
PyInstaller似乎没有构建来支持此功能。我有两个非最佳选择:
看来我要么需要一种方法以不以--console模式弹出控制台,要么以--noconsole模式显示打印输出。如果这些选项都不起作用,则可能需要制作该程序的单独的命令行版本。
有什么建议吗?
最佳答案
这不是一个完美的解决方案,但是此变通办法为我完成了工作:
在--noconsole-一个文件模式下构建gui应用程序,如下所示:
pyinstaller --noconsole --onefile hello.py
当您从Windows双击该应用程序时,它将正常启动(没有控制台)。现在要查看输出,请从命令行导航到可执行文件并键入:
hello.exe | more
“| more”应该将打印语句发送到控制台。关于python - 使PyInstaller exe既可以执行命令行操作也可以执行窗口操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38981547/