Правильный способ приостановить программу Python
Я начинающий в этом, но в соответствии с docs.python.org/2/library/functions.html#input , input(prompt) эквивалентен eval(raw_input(prompt)) . Это, вероятно, не то, что вы хотите.
user100464 19 июнь 2013, в 14:47
@user100464: user100464: Если это Python 3, то все в порядке; input в Py3 такой же, как и в Py2 raw_input . Если это Py3, то у них все в порядке, хотя нет необходимости присваивать возвращаемое значение, если оно никогда не используется.
ShadowRanger 09 июнь 2017, в 01:28
Показать ещё 1 комментарий
Поделиться:
8 ответов
Лучший ответ
Кажется, мне хорошо (или raw_input() в Python 2.X). В качестве альтернативы вы можете использовать time.sleep() , если вы хотите сделать паузу в течение определенного количества секунд.
import time print("something") time.sleep(5.5) # pause 5.5 seconds print("something")
mhawke 19 июль 2012, в 00:47
Поделиться
Я знаю о функции сна в модуле времени, но что, если у меня есть длинный блок текста, который я хочу, чтобы пользователь прочитал?
RandomPhobia 19 июль 2012, в 00:34
Просто используйте print для отображения длинного блока текста, а затем input() или raw_input(‘Press
mhawke 19 июль 2012, в 00:39
Для длинного блока текста лучше использовать input() (или raw_input() в Python 2.x), чтобы raw_input() у пользователя, а не задержку. Быстрые читатели не захотят ждать задержки, медленные читатели могут захотеть больше времени на задержку, кто-то может быть прерван во время чтения, и может потребоваться намного больше времени и т. Д. Кроме того, если кто-то часто использует программу, он / она она может привыкнуть к тому, как это работает, и ей даже не нужно читать длинный текст. Просто удобнее позволить пользователю контролировать, как долго блок текста отображается для чтения.
steveha 19 июль 2012, в 02:00
Показать ещё 1 комментарий
import os os.system("pause")
Chan Tzish 02 окт. 2015, в 15:03
Поделиться
Это зависит от Windows, в то время как все существующие ответы не зависят от платформы.
lvc 02 окт. 2015, в 14:26
Я предполагаю, что вы хотите приостановить без ввода
8bitwide 19 июль 2012, в 00:56
Поделиться
Итак, я нашел, что это очень хорошо работает в моих программах кодирования. Я просто создал функцию в самом начале моей программы,
def pause(): programPause = raw_input("Press the key to continue. ")
и теперь я могу использовать функцию pause() всякий раз, когда мне нужно, чтобы я писал пакетный файл. Например, в такой программе, как:
import os import system def pause(): programPause = raw_input("Press the key to continue. ") print("Think about what you ate for dinner last night. ") pause()
Теперь очевидно, что эта программа не имеет цели и предназначена, например, для целей, но вы можете точно понять, что я имею в виду.
ПРИМЕЧАНИЕ. Для Python 3 вам нужно использовать input , а не raw_input
Cether 17 янв. 2016, в 20:43
Поделиться
Как указано mhawke и steveha, лучший ответ на этот точный вопрос будет:
Для длинного блока текста лучше использовать input(‘Press to continue’) (или raw_input(‘Press to continue’) on Python 2.x), чтобы запрашивать пользователя, а не задержку времени. Быстрый читатель не захотят ждать задержки, медленным читателям может потребоваться больше времени на задержка, кто-то может быть прерван во время чтения и много больше времени и т.д. Кроме того, если кто-то много использует программу, он/она может привыкнуть к тому, как это работает, и не нужно даже читать длинные текст. Это просто более удобно, чтобы позволить пользователю контролировать, как долго блок текста отображается для чтения.
ntg 04 авг. 2015, в 09:15
Поделиться
raw_input("Press Enter to continue . ") exit()
shb2789 09 июнь 2017, в 02:39
Поделиться
Я немного использовал этот метод, однако мне также нравится использовать его как функцию pause (), и я не думаю, что есть необходимость в exit (). def pause (): вернуть raw_input («Нажмите Enter, чтобы продолжить . »)
jacktrader 12 фев. 2018, в 18:51
Определенно, как этот 🙂 Спасибо shb2789
tcratius 14 сен. 2018, в 03:07
У меня был аналогичный вопрос, и я использовал сигнал:
import signal def signal_handler(signal_number, frame): print "Proceed . " signal.signal(signal.SIGINT, signal_handler) signal.pause()
Итак, вы регистрируете обработчик сигнала SIGINT и приостанавливаете ожидание любого сигнала. Теперь из-за пределов вашей программы (например, в bash) вы можете запустить kill -2 , который отправит сигнал 2 (т.е. SIGINT) в вашу программу python. Ваша программа вызовет ваш зарегистрированный обработчик и продолжит работу.
olean 07 окт. 2015, в 15:10
Поделиться
Обратите внимание, что это не переносимо между платформами, например. на винде нету signal.pause . signal.pause .
kyrill 28 апр. 2019, в 15:40
Я думаю, что лучший способ остановить выполнение — это функция time.sleep(). если вам нужно приостановить выполнение только в определенных случаях, вы можете просто реализовать оператор if, например:
if somethinghappen: time.sleep(seconds)
вы можете оставить пустую ветку else.
Остановить программу
Здравствуйте. Подскажите, как остановить программу, если при вводе строки в ней нет определенного символа? (Например, если в строке нет точки)
И как сделать так, чтобы программа после этого попросила заново ввести строку?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Остановить рекурсию
как остановить рекурсию, но с дальнейшим вызовом функций? выводит ошибки Previous line repeated 16.
Остановить программу
Доброго времени суток, есть такая проблема, я хочу удалить программу, но пишет, что программа.
Как остановить программу?
#include <iostream> #include <locale.h> using namespace std; int r; int othdecide; //.
Как остановить программу?
Здравствуйте. Сабж. #include "stdafx.h" #include "vector" #include "conio.h" using.
5890 / 3348 / 1034
Регистрация: 03.11.2009
Сообщений: 9,977
Сообщение от strangez
как остановить программу
Сообщение от strangez
после этого попросила заново
так остановила или заново?
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,186
Если грубо, то так
1 2 3 4 5 6 7 8
print('Введите целое число: ') while True: n = input('-> ') if not n.isdecimal(): print('Это не число') else: print(n) break
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
как остановить программу?
я написал простенькую программу и у меня появилась проблема. когда запускаю программу вожу число.
Как остановить программу
Помогите как сделать, чтобы при cout << "Треугольник не существует" << endl; программа переставала.
Как остановить программу в конце?
Здравствуйте. Скажите, как остановить программу в самом конце. Допустим я запускаю программу.
Как принудительно остановить программу
Как принудительно остановить программу на Прологе во время выполнения какой-нибудь функции. Так.
Как остановить программу на минуту?
Гуглил минут тридцать пять на все лады- нет. Там и прием витамина С перед сном, и все виды.
Python + Telegram. Как остановить остановить polling?
Всем привет. Есть необходимость вводить номер с картинки (штрих код), картинка появляется в.
Как остановить работу программы Python?
Есть программа, которая должна работать до какого-то момента, если не остановить, то бесконечно. Хочу как-нибудь «красиво» останавливать программу, но не знаю как.
- Вопрос задан более трёх лет назад
- 26265 просмотров
Комментировать
Решения вопроса 2
Ответ написан более трёх лет назад
Комментировать
Нравится 7 Комментировать
yay ✌️ t.me/kshnkvn
Ответ написан более трёх лет назад
Нравится 5 4 комментария
Jairman @Jairman Автор вопроса
Круто, но не этого хотелось бы
Jairman, какой вопрос — такой и ответ.
В идеале — скрипт не нужно завершать, у него должно быть логическое завершение. Если есть необходимость останавливать скрипт вручную, то нужно смотреть на сам скрипт, потому что вариантов, как остановить выполнение — куча. Как вариант — обрабатывать исключение KeyboardInterrupt и по нажатию ctrl + c внутри самого скрипта останавливать процессы.
Ivan Yakushenko, вы слишком усложняете) для того что бы иметь статус — Куратор тега Python
вы все правильно говорите, что программа должна логический конец иметь, но судя по вопросу требуется именно тупое прерывание программы в тот момент где захочет ее создатель) программным методом, без пальцев)
artem_sib, ничего я не усложняю. Для реализации точки выхода из приложения, которая гарантирует завершение всех процессов, нужно смотреть на реализацию самого приложения. А под
Приостановить выполнение программы
Всем привет! Необходимо приостановить выполнение скрипта на n секунд. Первое что нагуглил time.sleep(n). Это годный вариант?
gadzira ★
15.04.16 10:30:12 MSK
Годный. А что тебя смущает? Ты проверил? Работает?
panter_dsd ★★★★
( 15.04.16 10:31:46 MSK )
outsider ★★
( 15.04.16 10:34:40 MSK )
kill -SIGSTOP script_pid;sleep 1m;kill -SIGCONT script_pid
zolden ★★★★★
( 15.04.16 10:47:03 MSK )
Ответ на: комментарий от panter_dsd 15.04.16 10:31:46 MSK
Таки да, все норм, но может есть какие-то best practices
gadzira ★
( 15.04.16 10:54:01 MSK ) автор топика
Ответ на: комментарий от gadzira 15.04.16 10:54:01 MSK
Ну если у тебя во время слипа планируется еще что-то делать то это не прокатит, нужно делать многопоточно, весь скрипт же тормознется. А так почему нет?!
alozovskoy ★★★★★
( 15.04.16 11:12:33 MSK )
Ответ на: комментарий от alozovskoy 15.04.16 11:12:33 MSK
У педона же гил, он всегда тормозится.
xpahos ★★★★★
( 16.04.16 06:04:28 MSK )
Ответ на: комментарий от xpahos 16.04.16 06:04:28 MSK
Я про полную остановку приложения пока определенный sleep не закончится. Не думаю что в случае ТСа накладные расходы на переключение смогут сыграть большую роль.
alozovskoy ★★★★★
( 16.04.16 07:22:23 MSK )
Ответ на: комментарий от xpahos 16.04.16 06:04:28 MSK
Подрастешь — тоже будешь на питончике пописывать 😉