2012-09-07 116 views
3

我寫了這個代碼:如何停止無限while循環蟒蛇emacs的

x = 0 
while x == 0: 
     print 'd' 

當我鍵入C-C!和C-C C-C代碼運行。

現在的問題是:我如何停止執行該代碼?

+0

可以按C-C C- \退出,和C-C C-C突破。 –

+0

您也可以在緩衝區列表或ibuffer中殺死Python進程。 –

回答

3

非常感謝我們的答案。最後我得到了解決方案。這是我一步一步的做法。

歐米BAREL,帕維爾·列賓,jmdeldin

起始點之是:無限while循環pythontests.py文件,

  1. C-C! (打開python shell)(你看到兩個窗口「緩衝區」,光標在python shell中)
  2. Cx o(切換到其他窗口的「緩衝區」)(現在是pythontests.py文件高亮)
  3. Cc CC(執行代碼)(行開始移動並計數:))
  4. Cx o(切換到其他窗口的「緩衝區」)(現在是python shell高亮)
  5. Cc Cc(停止運行進程)(現在你看到的引用消息)

在我來說,我得到這個消息:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/tmp/python-4684wEr.py", line 3, in <module> 
    print 'd' 
KeyboardInterrupt 

這裏是它是如何工作的截屏:http://youtu.be/1MbfCHusF9c

+1

這並不總是有效。在許多情況下,它只是將C-C C-C重複附加到* Python *緩衝區,而不停止底層執行。我還沒有確定爲什麼發生這種情況,或者如何阻止它在這種情況下運行。 –

0

我想你想C-g將停止運行當前的命令。

+0

它不起作用。 – vrcmr

1

切換到*Python*緩衝區並鍵入C-q C-c來中斷腳本。 C-qquoted-insert)用於插入控制字符,因爲C-c將被Emacs攔截。它也在shell模式下工作。