我使用Windows的Python版本。我有一個使用Pyside的Python腳本(沒有什麼複雜的,一種「hello world」)。我們可以知道從Windows或文本終端啓動了Python腳本嗎?
當我點擊我的腳本文件,或者如果我從命令行啓動它,它會很好地執行,我有一個GUI出現。
但是,如果腳本從文本終端(cmd.exe,cygwin,...)啓動,我想避免使用GUI。一種能夠自動識別它是否應該具有GUI輸出或文本輸出的腳本。
有沒有簡單的方法來做到這一點?我希望能夠通過Windows版本的Python(不是Cygwin軟件包附帶的版本)來實現。
當我從文本終端啓動腳本時,一個顯而易見的方法是添加一種「--no-gui」參數,但我不知道Python(或某些Python庫)是否已經爲此提供了工具。
此外,我在這臺計算機上有一個SSH服務器(Cygwin-base),我可以在距離執行腳本但沒有GUI出現(當然),我沒有錯誤消息。這是一個非常有趣的情況,因爲缺少Windows圖形支持或者腳本應該爲文本終端調整其輸出,從而知道腳本是否失敗。
它不是重複的,因爲這個問題是關於Windows,但在http://stackoverflow.com/questions/3818511/how-to-tell-if-python-script-is-being-run的討論-in-a-terminal-or-via-gui可能會有所幫助。 – 2012-04-12 08:38:30
更多討論也在這裏:http://stackoverflow.com/questions/1285024/how-can-i-check-to-see-if-a-python-script-was-started-interactively – Jiri 2012-04-12 13:28:32