KeJ*_*eJi 11 python python-idle
正如标题所说.我想编写一个行为不同的脚本,具体取决于它是在控制台窗口内运行还是在IDLE中运行.是否存在仅在IDLE中运行时才能检查的对象?环境变量?
我在Windows上使用Python 2.6.5和2.7.
到目前为止给出的答案有效.但我正在寻找一种正式的方法,或者看起来不像黑客.如果有人想出一个,我会接受这个答案.否则,在几天之内,我会接受最早的答案.感谢大家!
Ton*_*nen 12
我更愿意这样做:
import sys
print('Running IDLE' if 'idlelib.run' in sys.modules else 'Out of IDLE')
Run Code Online (Sandbox Code Playgroud)
小智 5
我建议将所有代码打包在一个函数中(Python 3):
def RunningIntoPythonIDLE():
import idlelib.PyShell
def frames(frame = sys._getframe()):
_frame = frame
while _frame :
yield _frame
_frame = _frame.f_back
return idlelib.PyShell.main.__code__ in [frame.f_code for frame in frames()]
Run Code Online (Sandbox Code Playgroud)
所以tkinter应用程序可以检查:
if not RunningIntoPythonIDLE():
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4203 次 |
| 最近记录: |