Как остановить скрипт Python в консоли

Обновлено: 21.11.2024

Примечание. Этой публикации больше года, поэтому содержащаяся здесь информация может быть устаревшей. Если вы что-то заметили, оставьте комментарий, и мы постараемся исправить это.

В настоящее время я изучаю Python, поэтому я решил начать серию мини-сообщений в блоге с подробным описанием различных вещей, которые я нашел полезными, изучая, как использовать язык.

Чтобы остановить выполнение кода в Python, сначала необходимо импортировать объект sys. После этого вы можете вызвать метод exit(), чтобы остановить выполнение программы. Это самый надежный кроссплатформенный способ остановить выполнение кода. Вот простой пример.

Вы также можете передать строку методу exit(), чтобы Python выдал ее после остановки скрипта. Это, вероятно, предпочтительный способ выполнения действий, поскольку в противном случае вы могли бы не понять, где остановился скрипт. Очевидно, что вы не просто остановите выполнение скрипта произвольно, но вы можете захотеть предотвратить его запуск, если определенные условия не были выполнены. Вот еще один пример, который останавливает выполнение, если длина массива меньше 2.

Кроме того, если вы хотите просто убить программу Python, которая захватила ваш терминал, нажмите Ctrl+C, чтобы остановить выполнение.

Хотите узнать больше? Нужна помощь?

Поможем! Наймите нас для обучения, советов, устранения неполадок и многого другого.

Поддержите нас!

Пожалуйста, поддержите нас и позвольте нам продолжать писать статьи.

Комментарии

import sys команда sys не появляется при чтении

Аноним (вт, 01.03.2016 – 08:10)

Очень полезно. Спасибо. теперь моя игра работает лучше, ты можешь умереть, и это не будет продолжаться с другими частями игры.

Аноним (пн, 13.03.2017 – 19:59)

Я пишу программу рисования для школы, но мне нужно добавить функцию stop(), но я не могу понять, как ее определить и использовать.

Иосия (пт, 13.10.2017 – 16:05)

Приведенный выше синтаксис полезен, но у меня есть ошибка

приянка (пн, 19.03.2018 - 06:06)

Эш (пн, 23.04.2018 – 16:43)

Я пытаюсь сделать chode вашей финальной игрой, но когда они умирают, игра продолжается. Как сделать так, чтобы определенные части моей игры останавливались, когда игрок выбирает действие и умирает?

river = raw_input("о нет, есть река, что нам делать?")

напечатайте «вы решаете»

print("1.идти через реку")

print("1.качаться на лиане над рекой")

напечатайте «вы благополучно перешли дорогу»

напечатайте «вы умерли, когда лоза сломалась»

как мне прервать ответ 2, не останавливая ответ 1?

Жилина Сала (Вт, 17.07.2018 - 22:15)

print("Вы умерли, когда лоза сломалась")

Иезекииль Кениг (17.10.2018 – 19:58)

я пытаюсь заставить его "выплюнуть", когда говорю

sys.exit("[Ошибка]ЭТО НЕ БЫЛО ЗАПРОГРАММИРОВАНО!")

но он просто выходит и ничего не говорит.

P.S. Игнорируйте сайт. я не знал, что поставить.

Эдвард Грин (вт, 19.02.2019 - 17:52)

Читая документацию по python, вы можете перехватывать исключение, которое вызывает sys.exit(), что затем подавляет ошибку. Может быть?

Кроме того, вам не нужно указывать веб-сайт, это необязательно.

print ("Угадайте любое число от 1 до 20. У вас 5 жизней")
из случайного импорта *
Память = randint(1,20)
для i in range(5):
Guess = int(input("Какое ваше предположение?"))

if Guess == Memory:
print ("Правильно!")
print ("Вы выиграли!")
break

print ("Ой! У вас закончились жизни!")

^Это то, что меня учат делать (игра в угадайку). Если предположение игрока было правильным, он выдаст:

Верно!

Вы выиграли!

Ой! У вас закончились жизни!

<р>. Как сделать так, чтобы игра останавливалась до того, как напечатается сообщение «Упс! У вас закончились жизни!»? Кто-нибудь может помочь?

ева (ср, 20.03.2019 - 21:31)

Я только что прочитал об остановке запущенной программы из самой программы с помощью: import sys; sys.exit('остановка программы')

Очень круто. Когда я попробовал это в Python 3.7 без sys. перед выходом у меня появилось всплывающее окно с вопросом, действительно ли я хочу «убить» или отменить. Что с этим делать?

Treehugger Dave (четверг, 10.10.2019 – 12:40)

Аноним (вт, 26.05.2020 – 16:49)

else:
print ("Не совсем")

print ("Ой! У вас закончились жизни!")

else:
print ("Не совсем")

print ("Упс! У вас закончились жизни!")

Аноним (ср, 10.06.2020 - 09:29)

Эй, я устал делать проект simailr, но что бы я ни делал, ничто не может остановить мой код. Кто-нибудь может мне помочь?

Картофель_П.Дж. (пн, 12.10.2020 – 20:55)

Привет, я пытаюсь сделать простой калькулятор. Я хочу, чтобы человек закрыл вещь, когда вы хотите, но я не могу заставить это работать. Я могу поместить код в комментарий, и кто-то, возможно, захочет мне помочь.Было бы очень полезно, если бы кто-нибудь помог мне просто выключить его. Я надеюсь, что кто-то прочитает это и поможет мне. Я использую Microsoft Visual Studio 2019 и не знаю, есть ли другой способ остановить код или вы можете использовать один и тот же код в разных компиляторах.
И я надеюсь, что кто-то меня поймет, потому что я' m не из англоязычной страны.
Вот мой код:

print("Калькулятор")
a = input("Введите число:")
b = input("Введите число:")
add = float(a) + float(b)
sub = float(a) - float(b)
multi = float(a) * float(b)
div = float(a) / float(b)
система импорта

if input("Добавить, вычесть, умножить или разделить:") == "Добавить":
print(a + "+" + b + "Закрыть или продолжить:") == "Закрыть":
print("Пока, надеюсь, помогло")
exit()
print("Привет")
else:
print("А вот и следующий ")
if input("Добавить, вычесть, умножить или разделить:") == "Вычесть":
print(a + "-" + b + "Закрыть или продолжить:") == " Close":
print("Пока, надеюсь, помогло")
print(exit())
else:
print("А вот и следующий")
if input("Добавить, вычесть, умножить или разделить:") == "Умножить":
print(a + "*" + b + " Закрыть или продолжить:") == "Закрыть": < br />print("Пока, надеюсь, помогло")
print(exit())
else:
print("А вот и следующий")
if input ("Сложить, вычесть, умножить, разделить:") == "Разделить":
print(a + "/" + b + " Закрыть или продолжить:") == "Закрыть":
print ("Пока, надеюсь, помогло")
print(exit())
else:
print("А вот и следующий")

LingLing (сб, 30.01.2021 - 18:31)

Я немного переписал ваш калькулятор. Дайте мне знать, что вы думаете.

пн (чт, 18.03.2021 - 19:45)

Я думаю, что моя форма комментариев съела часть вашего кода. Закинь его в pastebin или что-то в этом роде, а я посмотрю :)

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

Можно ли остановить выполнение скрипта Python в любой строке с помощью команды? Ответ: Да. Вы можете остановить скрипт Python в любой момент времени. Вы можете сделать это вручную или программно, и в этом руководстве мы рассмотрим каждый подход один за другим.

Сценарий остановки Python

Существует множество способов остановить выполнение скриптов Python в системе.

  1. Чтобы остановить скрипт Python, просто нажмите Ctrl + C.
  2. Используйте функцию exit() для программного завершения выполнения скрипта Python.
  3. Используйте метод sys.exit() для остановки даже многопоточных программ.
  4. Использование интерактивного сценария с простым выходом.
  5. Вы можете использовать команду pkill -f name-of-the-python-script.
  6. Используя метод OS._exit(0).

Нажмите CTRL + C, чтобы завершить скрипт Python

Чтобы остановить скрипт в Python, нажмите Ctrl + C. Если вы используете Mac, нажмите Ctrl + C. Если вы хотите приостановить процесс и перевести его в фоновый режим, нажмите Ctrl + Z (по крайней мере, в Linux) . Затем, если вы хотите убить его, запустите kill %n, где «n» — это число, которое вы получили рядом с «Остановлено», когда вы нажали Ctrl + Z. Если вы хотите возобновить его, запустите fg.

Если ваш код выполняется на интерактивной консоли, нажатие Ctrl + C вызовет исключение KeyboardInterrupt в основном потоке.

Если ваш код Python не перехватывает это исключение, то KeyboardInterrupt приведет к завершению работы Python. Тем не менее, блок exclude KeyboardInterrupt: или что-то вроде простого исключения не позволит этому механизму действительно остановить выполнение скрипта.

Иногда, если KeyboardInterrupt не работает, вы можете вместо этого отправить сигнал SIGBREAK; в Windows Ctrl + Pause/Break может обрабатываться интерпретатором без создания перехватываемого исключения KeyboardInterrupt.

Как программно остановить скрипт в Python

Чтобы программно остановить скрипт Python, используйте в коде функцию exit().

Есть еще более идеальное решение, чтобы остановить скрипт и сделать это, и вы можете использовать метод sys.exit().

Функция sys.exit() завершает скрипт Python, даже если вы выполняете параллельные действия через многопроцессорный пакет.

Чтобы использовать sys.exit() в вашей программе, вы должны импортировать его в начало файла.

Давайте рассмотрим следующий пример.

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

Использование метода OS._exit(0)

Вы также можете прервать выполнение скрипта Python с помощью метода os._exit(0). Чтобы использовать метод _exit(0), вам необходимо импортировать модуль os в начало файла.

Это не даст вам никакого вывода, так как программа уже завершена функцией os._exit(0).

Я написал программу в IDLE для токенизации текстовых файлов, и она начала токенизировать 349 текстовых файлов! Как я могу это остановить? Как я могу остановить работающую программу Python?

Многие ответы здесь зависят от платформы. Найдите свою платформу (Windows, Linux, Mac, что-то еще?)

17 ответов 17

Вы также можете сделать это, если используете функцию exit() в своем коде. В идеале вы можете сделать sys.exit() . sys.exit(), который может завершить работу Python, даже если вы выполняете что-то параллельно через многопроцессорный пакет.

Примечание: чтобы использовать sys.exit(), вы должны импортировать его: import sys

Примечание. Я мог найти примеры, в которых sys.exit(1) не останавливает процесс. В основном у меня есть несколько потоков, и каждый из них блокирует внешние процессы, запущенные Popen . Мне нужна ядерная опция, чтобы убить все подпроцессы, созданные процессом Python, а также сам процесс Python. Пока не нашел.

sys.exit() не уничтожает процесс, но вызывает исключение SystemExit Exception, которое не останавливает выполнение, закрывая программу

Чтобы остановить программу, просто нажмите Control + C .

Этот метод работал на моем ноутбуке с Windows, но на моем настольном компьютере с Linux он показывал ^C в терминале, а системный монитор показывал, что python по-прежнему использует много ресурсов ЦП.

@Gathide Если вы хотите приостановить процесс и перевести его в фоновый режим, нажмите Ctrl + Z (по крайней мере, в Linux). Затем, если вы хотите убить его, запустите kill %n, где «n» — это число, которое вы получили рядом с «Остановлено», когда вы нажали Ctrl + Z . Если вы хотите возобновить его, запустите fg .

Не работает, если в программе есть общее предложение exclude:. Исключение: ловит прерывание, делает что-то (или нет), а затем программа весело продолжается.

@DragonLord У вашего общего за исключением должно быть особое за исключением ошибки, вызванной Ctrl+C. В любом случае, общие исключения обычно не рекомендуются.

Если ваша программа работает на интерактивной консоли, нажатие CTRL + C вызовет исключение KeyboardInterrupt в основном потоке.

Если ваша программа Python не обнаружит его, KeyboardInterrupt приведет к завершению работы Python. Однако блок exclude KeyboardInterrupt: или что-то вроде простого блока exclude: не позволит этому механизму фактически остановить выполнение скрипта.

Иногда, если KeyboardInterrupt не работает, вы можете вместо этого отправить сигнал SIGBREAK; в Windows CTRL + Pause/Break может обрабатываться интерпретатором без создания перехватываемого исключения KeyboardInterrupt.

Однако эти механизмы в основном работают только в том случае, если интерпретатор Python работает и реагирует на события операционной системы. Если интерпретатор Python по какой-либо причине не отвечает, наиболее эффективным способом является завершение всего процесса операционной системы, в котором работает интерпретатор. Механизм для этого зависит от операционной системы.

В среде оболочки в стиле Unix вы можете нажать CTRL + Z, чтобы приостановить любой процесс, который в данный момент управляет консолью. Как только вы вернете приглашение оболочки, вы можете использовать задания для отображения списка приостановленных заданий, и вы можете убить первое приостановленное задание с помощью команды kill %1 . (Если вы хотите запустить его снова, вы можете продолжить задание на переднем плане, используя fg %1 ; для получения дополнительной информации прочитайте руководство вашей оболочки по управлению заданиями.)

Кроме того, в Unix или Unix-подобной среде вы можете найти PID (идентификатор процесса) процесса Python и уничтожить его по PID. Используйте что-то вроде ps aux | grep python, чтобы узнать, какие процессы Python запущены, а затем использовать команду kill

для отправки сигнала SIGTERM.

Команда kill в Unix по умолчанию отправляет SIGTERM, а программа Python может установить обработчик сигнала для SIGTERM с помощью модуля signal. Теоретически любой обработчик сигнала для SIGTERM должен корректно завершать процесс. Но иногда, если процесс завис (например, заблокирован в непрекращающемся состоянии ожидания ввода-вывода), сигнал SIGTERM не действует, поскольку процесс даже не может проснуться, чтобы обработать его.

Чтобы принудительно завершить процесс, который не отвечает на сигналы, необходимо отправить сигнал SIGKILL, который иногда называют kill -9, поскольку 9 – это числовое значение константы SIGKILL. В командной строке вы можете использовать kill -KILL

Кроме того, что делает exit() в Python? Функция exit() позволяет разработчику выйти из Python. Функция выхода принимает необязательный аргумент, обычно целое число, которое дает статус выхода. Ноль считается «успешным завершением».

Кроме того, как остановить терминал на Mac?

Если вы хотите принудительно закрыть запущенную команду, вы можете использовать «Ctrl + C». большинство приложений, запущенных с терминала, будут вынуждены закрыться. Существуют команды/приложения, которые продолжают работать до тех пор, пока пользователь не попросит завершить их.

Что делает exit 0 в Python?

Нулевой код ошибки означает успешный выход. Это полезно для других программ, оболочки, вызывающей программы и т. д., чтобы знать, что произошло с вашей программой, и действовать соответствующим образом. Это определяет статус выхода программы после завершения ее работы (как правило, 0 для успеха и 1 для ошибки).

Как остановить бесконечный цикл в Python?

Бесконечный цикл возникает, когда программа продолжает выполняться в рамках одного цикла, никогда не выходя из него. Чтобы выйти из бесконечных циклов в командной строке, нажмите CTRL + C. Сохраните программу и запустите ее: python password.py.

Как вы заканчиваете программу?

На устройствах Android используется аналогичный процесс: проведите вверх от нижней части экрана, а затем проведите еще дальше по неотвечающему приложению за пределы экрана. Или, на некоторых устройствах Android, нажмите квадратную кнопку многозадачности, найдите приложение, которое не отвечает, и удалите его с экрана влево или вправо.

Как выйти из цикла while в Python?

Python предоставляет два ключевых слова, которые преждевременно завершают итерацию цикла: оператор Python break немедленно полностью завершает цикл. Выполнение программы переходит к первому оператору, следующему за телом цикла. Оператор continue Python немедленно завершает текущую итерацию цикла.

Как выйти из цикла в Python?

В Python оператор break позволяет выйти из цикла при срабатывании внешнего условия. Вы поместите оператор break в блок кода под оператором цикла, обычно после условного оператора if. В этой небольшой программе номер переменной инициализируется равным 0.

Как сохранить код в терминале?

2 ответа Нажмите Ctrl + X или F2, чтобы выйти. Затем вас спросят, хотите ли вы сохранить. Нажмите Ctrl + O или F3 и Ctrl + X или F2, чтобы сохранить и выйти.

Как сохранить программу на Python?

Перейдите в «Файл» и нажмите «Сохранить как». В поле Сохранить найдите диск C: и выберите папку PythonPrograms. В поле Имя файла удалите все, что там есть, и введите Hello.py. В поле Тип файла выберите Все файлы. Нажмите Сохранить. Вы только что создали свою первую программу на Python.

Как открыть файл Python в CMD?

Часть 2. Запуск файла Python Open Start. . Найдите командную строку. Введите cmd, чтобы сделать это. Нажмите. Командная строка. Перейдите в каталог вашего файла Python. Введите cd и пробел, затем введите адрес «Местоположение» для вашего файла Python и нажмите ↵ Enter . Введите команду «python» и имя вашего файла. Нажмите ↵ Enter .

Как вы программируете на Python?

Напишите простую программу на Python Откройте меню «Пуск» и выберите Python (командная строка). Вы должны получить приглашение, похожее на >>>. В командной строке введите следующее. Используйте одинарную кавычку в начале и в конце — она находится рядом с клавишей Enter: Нажмите клавишу Enter. Python запускает введенный вами код.

Как запустить файл Python в оболочке Python?

Запуск сценария Python в Windows с помощью командной строки. Обратите внимание, что необходимо использовать полный путь к интерпретатору Python. Если вы хотите просто ввести python.exe C:UsersUsernameDesktopmy_python_script.py, вы должны добавить python.exe в переменную окружения PATH.

Как изменить каталоги в терминале?

Как сменить каталог в терминале Linux Чтобы сразу вернуться в домашний каталог, используйте cd ~ ИЛИ cd. Чтобы перейти в корневой каталог файловой системы Linux, используйте cd / . Чтобы перейти в корневой каталог пользователя, запустите cd /root/ от имени пользователя root. Чтобы перейти на один уровень каталога вверх, используйте cd .. Чтобы вернуться к предыдущему каталогу, используйте cd -

Какие команды терминала для Mac?

Шпаргалка по командам терминала Mac Команда Действие cd ~ Домашний каталог cd/ Корень диска cd — Предыдущий каталог или папка, которую вы просматривали в последний раз pwd Показать рабочий каталог

Читайте также: