Как приостановить выполнение программы в python
Перейти к содержимому

Как приостановить выполнение программы в python

  • автор:

Правильный способ приостановить программу 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 to continue’) в соответствии с вашей версией Python.

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 Комментировать

kshnkvn

yay ✌️ t.me/kshnkvn

5e2f3a824d426913983223.jpeg

Ответ написан более трёх лет назад
Нравится 5 4 комментария

Jairman

Jairman @Jairman Автор вопроса
Круто, но не этого хотелось бы

kshnkvn

Jairman, какой вопрос — такой и ответ.
В идеале — скрипт не нужно завершать, у него должно быть логическое завершение. Если есть необходимость останавливать скрипт вручную, то нужно смотреть на сам скрипт, потому что вариантов, как остановить выполнение — куча. Как вариант — обрабатывать исключение KeyboardInterrupt и по нажатию ctrl + c внутри самого скрипта останавливать процессы.

Ivan Yakushenko, вы слишком усложняете) для того что бы иметь статус — Куратор тега Python
вы все правильно говорите, что программа должна логический конец иметь, но судя по вопросу требуется именно тупое прерывание программы в тот момент где захочет ее создатель) программным методом, без пальцев)

kshnkvn

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

Подрастешь — тоже будешь на питончике пописывать 😉

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *