我使用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