2015-01-17 3 views
1

Я не знаю, как прервать бесконечный цикл на python 2.7, проходящий через Canopy на ОС Windows 7. Ctrl + C не работает, «Ядро прерывания» в меню «Выполнить» также никогда не работает. В linux (ubuntu) клавиатурный прерывание ctrl + c работает отлично, но не в Windows.Как прервать бесконечный цикл на Python под Enthought Canopy enviroment?

Единственный способ, которым я смог остановить случайный бесконечный цикл, - это вариант «Перезапустить ядро» в меню «Выполнить». К сожалению, это означает, что я теряю все свои рабочие переменные, что нежелательно. На MATLAB Ctrl + C работал отлично.

Я нашел несколько подобных вопросов о проблемах с клавиатурой на Python, но ни один из них не использовал среду Enthought Canopy.

Любая помощь очень ценится.

ответ

1

В общем, Ctrl-C работает только для разрыва бесконечного цикла, если код в цикле вызывает службы ОС. Учитывая ваш комментарий о MATLAB, я подозреваю, что ваш цикл является только вычислением. Легкое исправление заключается в проверке нажатия клавиши внутри цикла, который также позволит вам определить свой собственный код прерывания. На Activestate есть хороший код, который делает это как для Windows, так и для Unix-подобных ОС. http://code.activestate.com/recipes/134892-getch-like-unbuffered-character-reading-from-stdin/

 Смежные вопросы

  • Нет связанных вопросов^_^