5

有没有办法找出 python 脚本是在 IDLE 解释器还是终端中运行?

如果可能,可以跨平台工作,或者如果每个平台需要不同的方式。

如果可能,使用 Python 2 和 Python 3,或者如果每个版本需要不同的方式。

我能想到的唯一方法是检查为 IDLE 运行的进程,但我不知道如何正确地做到这一点。

如果 IDLE 为另一个脚本打开并且我的脚本正在终端中运行,即使我的脚本没有在 IDLE 中运行,进程检查也会返回 true。

我的脚本需要以不同的方式运行,具体取决于它是在 IDLE 中运行还是在终端中运行。

4

1 回答 1

9

似乎适用于 Python3/Linux

import sys

print("idlelib" in sys.modules)

True如果脚本从空闲状态运行,则返回,False否则返回。请测试 Python/OS 的其他组合!

于 2013-06-16T16:15:46.017 回答