10 ответов:
мне кажется, все в порядке (или
raw_input()в Python 2.Икс.) В качестве альтернативы вы можете использоватьtime.sleep()Если вы хотите сделать паузу на определенное количество секунд.import time print("something") time.sleep(5.5) # pause 5.5 seconds print("something")
Итак, я обнаружил, что это очень хорошо работает в моих начинаниях кодирования. Я просто создана функция в самом начале моей программы,
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
Я использую следующее Для
python2 и 3, чтобы приостановить выполнение кода, пока пользователь не нажмет введитеimport six if six.PY2: raw_input("Press the <ENTER> key to continue...") else: input("Press the <ENTER> key to continue...")
у меня был аналогичный вопрос, и я использовал сигнал:
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. Ваша программа вызовет ваш зарегистрированный обработчик и продолжит работу.
Как указал mhawke и stevehaкомментарии, лучший ответ на этот точный вопрос будет:
для длинного блока текста лучше всего использовать
input('Press <ENTER> to continue')(илиraw_input('Press <ENTER> to continue')на Python 2.x) запрашивать пользователя, а не задержку по времени. Быстрые читатели не хочу ждать задержки, медленные читатели могут захотеть больше времени задержка, кто-то может быть прерван во время чтения его и хотите намного больше времени и т. д. Кроме того, если кто-то использует программа много, он/она возможно, привыкли, как это работает и не нужно даже читать долго текст. Это просто дружелюбнее, чтобы позволить пользователю контролировать, как долго блок текст отображается для чтения.
Я думаю, что лучший способ остановить казнь это время.сна (функция). если вам нужно приостановить выполнение только в определенных случаях, вы можете просто реализовать оператор if следующим образом:
if somethinghappen: time.sleep(seconds)вы можете оставить ветку else пустой.
Comments