2016-08-16 127 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 

的「|更多」應該發送打印語句到控制檯。