Работать в отладчике и использовать точки останова?
GDCD
Ответы:
219
Кажется, хорошо для меня (или raw_input()в Python 2.X). В качестве альтернативы вы можете использовать, time.sleep()если вы хотите сделать паузу на определенное количество секунд.
import time
print("something")
time.sleep(5.5)# pause 5.5 secondsprint("something")
Я знаю о функции сна в модуле времени, но что, если у меня есть длинный блок текста, который я хочу, чтобы пользователь прочитал?
RandomPhobia
7
Просто используйте printдля отображения длинного блока текста, а затем input()или raw_input('Press <ENTER> to continue')в зависимости от вашей версии Python.
Mhawke
8
Для длинного блока текста лучше использовать input()(или raw_input()на Python 2.x), чтобы подсказывать пользователю, а не задержку. Быстрые читатели не захотят ждать задержки, медленные читатели могут захотеть больше времени на задержку, кто-то может быть прерван во время чтения, и ему нужно гораздо больше времени и т. Д. Кроме того, если кто-то часто использует программу, он / она она может привыкнуть к тому, как это работает, и ей даже не нужно читать длинный текст. Просто удобнее позволить пользователю контролировать, как долго блок текста отображается для чтения.
Так что я нашел, что это очень хорошо работает в моих усилиях по кодированию. Я просто создал функцию в самом начале моей программы,
def pause():
programPause = raw_input("Press the <ENTER> key to continue...")
и теперь я могу использовать эту pause()функцию всякий раз, когда мне нужно, как если бы я писал командный файл. Например , в такой программе:
import os
import system
def pause():
programPause = raw_input("Press the <ENTER> key to continue...")print("Think about what you ate for dinner last night...")
pause()
Очевидно, что эта программа не имеет цели и предназначена только для примера, но вы можете точно понять, что я имею в виду.
ПРИМЕЧАНИЕ: для Python 3 вам нужно будет использовать inputвместоraw_input
У меня был похожий вопрос, и я использовал сигнал:
import signal
def signal_handler(signal_number, frame):print"Proceed ..."
signal.signal(signal.SIGINT, signal_handler)
signal.pause()
Таким образом, вы регистрируете обработчик для сигнала SIGINT и приостанавливаете ожидание любого сигнала. Теперь из-за пределов вашей программы (например, в bash) вы можете запустить kill -2 <python_pid>, что отправит сигнал 2 (т.е. SIGINT) в вашу программу на python. Ваша программа вызовет ваш зарегистрированный обработчик и продолжит работу.
Для длинного блока текста лучше использовать input('Press <ENTER> to continue')(или raw_input('Press <ENTER> to continue')на Python 2.x), чтобы подсказывать пользователю, а не задержку. Быстрые читатели не захотят ждать задержки, медленные читатели могут захотеть больше времени на задержку, кто-то может быть прерван во время чтения, и ему нужно гораздо больше времени и т. Д. Кроме того, если кто-то часто использует программу, он / она она может привыкнуть к тому, как это работает, и ей даже не нужно читать длинный текст. Просто удобнее позволить пользователю контролировать, как долго блок текста отображается для чтения.
Я немного использовал этот метод, однако мне также нравится использовать его как функцию pause (), и я не думаю, что есть необходимость в exit (). def pause (): return raw_input («Нажмите Enter, чтобы продолжить ...»)
я думаю, что лучший способ остановить выполнение - это функция time.sleep (). если вам нужно приостановить выполнение только в определенных случаях, вы можете просто реализовать оператор if следующим образом:
Ответы:
Кажется, хорошо для меня (или
raw_input()
в Python 2.X). В качестве альтернативы вы можете использовать,time.sleep()
если вы хотите сделать паузу на определенное количество секунд.источник
print
для отображения длинного блока текста, а затемinput()
илиraw_input('Press <ENTER> to continue')
в зависимости от вашей версии Python.input()
(илиraw_input()
на Python 2.x), чтобы подсказывать пользователю, а не задержку. Быстрые читатели не захотят ждать задержки, медленные читатели могут захотеть больше времени на задержку, кто-то может быть прерван во время чтения, и ему нужно гораздо больше времени и т. Д. Кроме того, если кто-то часто использует программу, он / она она может привыкнуть к тому, как это работает, и ей даже не нужно читать длинный текст. Просто удобнее позволить пользователю контролировать, как долго блок текста отображается для чтения.Для окон используйте только :
источник
Я предполагаю, что вы хотите сделать паузу без ввода
использование
time.sleep (сек)
источник
Так что я нашел, что это очень хорошо работает в моих усилиях по кодированию. Я просто создал функцию в самом начале моей программы,
и теперь я могу использовать эту
pause()
функцию всякий раз, когда мне нужно, как если бы я писал командный файл. Например , в такой программе:Очевидно, что эта программа не имеет цели и предназначена только для примера, но вы можете точно понять, что я имею в виду.
ПРИМЕЧАНИЕ: для Python 3 вам нужно будет использовать
input
вместоraw_input
источник
У меня был похожий вопрос, и я использовал сигнал:
Таким образом, вы регистрируете обработчик для сигнала SIGINT и приостанавливаете ожидание любого сигнала. Теперь из-за пределов вашей программы (например, в bash) вы можете запустить
kill -2 <python_pid>
, что отправит сигнал 2 (т.е. SIGINT) в вашу программу на python. Ваша программа вызовет ваш зарегистрированный обработчик и продолжит работу.источник
signal.pause
.Я использую следующее для
python
2 и 3, чтобы приостановить выполнение кода, пока пользователь не нажметENTERисточник
Как указано в комментариях Мхавке и Стивехи , лучшим ответом на этот точный вопрос будет:
источник
Очень просто:
источник
NameError: name 'raw_input' is not defined
источник
я думаю, что лучший способ остановить выполнение - это функция time.sleep (). если вам нужно приостановить выполнение только в определенных случаях, вы можете просто реализовать оператор if следующим образом:
Вы можете оставить ветку else пустой.
источник
Я думаю, что мне нравится этот soln.
Он скрывает все, что вводит пользователь, что помогает уточнить, что ввод здесь не используется.
Но будьте внимательны на платформе OSX, она отображает ключ, который может сбить с толку.
Вероятно, лучшим решением было бы сделать что-то похожее на модуль getpass, не совершая
read -s
вызова. Может быть, чтобы цвет fg соответствовал bg?источник
С помощью этого метода вы можете возобновить свою программу, просто нажав любую указанную вами клавишу, которая:
тот же метод, но по-другому:
Примечание: вы можете установить
keyboard
модуль просто написав это в вашей оболочке или cmd:источник
источник
Для кросс-совместимости с Python 2/3 вы можете использовать
input
черезsix
библиотеку:источник