如何在循环python emacs时停止无限

如何在循环python emacs时停止无限,python,emacs,Python,Emacs,我写了这段代码: x = 0 while x == 0: print 'd' 当我输入C-C!C-C-C代码运行 现在的问题是:我如何停止该代码的执行?我想您希望C-g停止运行当前命令。切换到*Python*缓冲区并键入C-q C-C中断脚本C-q(quoted insert)用于插入控制字符,因为C-C将被Emacs截获。它也在shell模式下工作。非常感谢我们的回答。我终于找到了解决办法。这是我的逐步操作方法 归功于Omri Barel、Pavel Repin、jmdeldin

我写了这段代码:

x = 0
while x == 0:
      print 'd'
当我输入C-C!C-C-C代码运行


现在的问题是:我如何停止该代码的执行?

我想您希望C-g停止运行当前命令。

切换到
*Python*
缓冲区并键入
C-q C-C
中断脚本
C-q
quoted insert
)用于插入控制字符,因为
C-C
将被Emacs截获。它也在shell模式下工作。

非常感谢我们的回答。我终于找到了解决办法。这是我的逐步操作方法

归功于Omri Barel、Pavel Repin、jmdeldin

Startpoint是:pythontests.py文件中的无限while循环

  • C-C!(打开pythonshell)(您会看到两个窗口“buffers”,光标位于pythonshell中)
  • C-x o(切换到其他窗口“缓冲区”)(现在是pythontests.py文件highlited)
  • C-C-C(执行代码)(行开始移动并计数:)
  • C-xo(切换到其他窗口“缓冲区”)(现在是pythonshellhighlited)
  • C-C C-C(停止运行进程)(现在您可以看到Trackback消息)
  • 就我而言,我得到了这样的信息:

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/tmp/python-4684wEr.py", line 3, in <module>
        print 'd'
    KeyboardInterrupt
    
    回溯(最近一次呼叫最后一次):
    文件“”,第1行,在
    文件“/tmp/python-4684wEr.py”,第3行,在
    打印
    键盘中断
    

    下面是它的工作原理:

    您可以按C-C-\退出,按C-C-C中断。您还可以在缓冲区列表或ibuffer中终止Python进程。这并不总是有效的。在许多情况下,它只是重复地将C-C-C添加到Python缓冲区,而不停止底层执行。我还没有确定发生这种情况的确切原因,或者如何阻止它在这种情况下运行。