Приостановка консоли Python - PullRequest
11 голосов
/ 02 декабря 2011

Я запускаю некоторый код Python в консоли, внутри очень длинного цикла for. Я хотел бы приостановить выполнение сценария, а затем иметь возможность возобновить, где я оставил. Можно ли приостановить работу консоли Python?

Примечание: я не хочу использовать time.sleep; Я хочу иметь возможность внешней приостановки консоли в середине цикла.

Ответы [ 6 ]

10 голосов
/ 02 декабря 2011

Если вы используете python в стандартной консоли Unix, работают обычные команды ctrl-s (пауза, продолжить с помощью ctrl-q) и ctrl-z (приостановить, продолжить с fg).Если вы работаете в командной оболочке Windows, используйте кнопку «Пауза» (для продолжения нажмите любую клавишу).

3 голосов
/ 02 декабря 2011

Если вы используете Unix, вы всегда можете нажать Ctrl + Z, чтобы вернуться в командную строку, а затем «fg», чтобы вернуться в консоль python.В Windows используйте кнопку Пауза

В Unix вы также можете сделать:

Для остановки: kill -SIGSTOP pid

Для продолжения: kill -SIGCONT pid

1 голос
/ 02 декабря 2011

Если вы точно знаете до выполнения, когда вам нужно сделать паузу, просто взгляните на модуль pdb.

Если вы не знаете, я предлагаю вам вставить код, который проверяет наличие определенного файла на каждой итерации и, если он существует, вызывает pdb. Производительность, конечно, пострадает. Затем вы можете создать этот файл, когда хотите сделать паузу.

(существование файла - это произвольное условие, которое легко реализовать. Вы можете выбрать другие.)

0 голосов
/ 30 сентября 2016

Win 10, оболочка python 3.5.1: F10 переключает паузу и запуска.

0 голосов
/ 03 февраля 2013

На моем ноутбуке под управлением Windows 7 приостанавливает выполнение.

0 голосов
/ 03 февраля 2013

я думаю, что вам нужна команда, которая будет приостанавливать код до тех пор, пока вы не скажете ему продолжать, как нажимать клавишу Enter

попробуйте поставить

вход ()

где вы хотите «приостановить» код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...