【问题标题】:Terminate Python Shell (IDLE) programmatically以编程方式终止 Python Shell (IDLE)
【发布时间】:2017-03-14 19:29:44
【问题描述】:

我正在使用 IDLE(Python 3.6 64 位)。目前,我正在使用 Tkinter 创建一个 GUI。我的代码中有一个按钮应该终止程序。截至目前,它只关闭了“tk”根窗口(使用root.destroy())。我希望它也关闭外壳并返回到我可以编辑代码的位置(即返回到我的 IDLE)。我该怎么做?

【问题讨论】:

  • @LouFranco 这个问题是关于杀死运行程序的进程(raise SystemExit 和等价物。SteMod 询问是否杀死另一个进程中的某些东西(IDLE 进程中的 Shell),尽管这样做不是需要继续编辑。
  • 好吧,我知道这没有必要,但我还是想这样做。

标签: python shell python-idle


【解决方案1】:

当您从 IDLE 编辑器窗口运行代码时,任何从 IDLE 运行的现有程序都会终止。除非您的代码以某种方式控制了鼠标,否则您应该始终能够单击任何编辑器窗口或其任务栏图标(在 Windows 上)并开始进行更多编辑。示例:从 IDLE 编辑器运行以下命令。

import tkinter as tk
root = tk.Tk()
#root.destroy()

显示一个 tk 窗口。单击编辑器窗口,删除“#”,然后再次运行。第一个 tk 窗口消失,Shell 窗口中出现>>> 提示符。

从 IDLE 运行的 python 程序不能*关闭其父 IDLE,就像在控制台中运行的 python 程序可以关闭父控制台一样。

  • 我排除了诸如在 *nix 上获取父进程号并发出“kill”命令之类的内容。

【讨论】:

  • 好的,所以基本上不可能以编程方式进行?
  • 没有'非凡'意味着(*例外),是的。
猜你喜欢
  • 2015-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-21
  • 2022-11-12
  • 1970-01-01
相关资源
最近更新 更多