2016-08-16 58 views
2

我正在编写一个Python程序,既可以在命令行上使用,也可以作为交互式窗口使用。 (这是一个坏主意?)如果提供了命令行参数,它将执行一个任务,然后打印“成功”或“失败”。否则,它会启动一个交互式窗口。让PyInstaller exe执行命令行和窗口操作

PyInstaller似乎没有被构建来支持这一点。我有两个非最佳选择:

  1. 使用--console模式:命令行的伟大工程,但如果我双击exe文件,显示交互窗口,这也说明一个控制台窗口,我不'不想要
  2. 使用--noconsole模式:没有控制台弹出窗口,但使用命令行时没有输出显示。

看来我需要一种方法来在--console模式下不弹出控制台,或者在--noconsole模式下显示打印输出。如果这两个选项都不起作用,我可能需要制作一个单独的命令行版本的程序。

有什么建议吗?

回答

0

这不是一个完美的解决方案,但这种解决办法为我做的工作:

在--noconsole --one文件模式构建GUI应用程序是这样的:

pyinstaller --noconsole --onefile hello.py 

当你双击从Windows的应用程序,它将正常启动(没有控制台)。

我们看到输出,浏览到命令行和类型可执行文件:

hello.exe | more 

的“|更多”应该发送打印语句到控制台。