python остановить работу скрипта

Завершение работы скрипта Python

Я в курсе die() команда в PHP, которая рано останавливает скрипт.

Как я могу это сделать в Python?

10 ответов

выход из Python. Это осуществляется путем повышения SystemExit исключение, поэтому действия очистки, указанные в предложениях finally из try заявления соблюдаются, и можно перехватить попытка выхода на внешнем уровне.

необязательный аргумент arg может быть целым числом, дающим статус выхода (значение по умолчанию равно нулю) или другой тип объекта. Если это целое число, ноль считается «успешным завершением», и любое ненулевое значение считается «ненормальным окончание» снарядами и тому подобное. Большинство систем требовать, чтобы он находился в диапазоне 0-127, и давать неопределенные результаты иначе. В некоторых системах существует соглашение о присвоении конкретных значения для конкретных кодов выхода, но это, как правило, недоразвитые; программы Unix обычно используют 2 для синтаксиса командной строки ошибки и 1 для всех других видов ошибок. Если другой тип объекта передается, None эквивалентно передаче нуля, а любой другой объект напечатано на stderr и приводит к коду выхода 1. Особенно, sys.exit(«some error message») быстрый способ выхода из программы, когда возникает ошибка.

С exit() в конечном счете» только » вызывает исключение, оно будет только выходить процесс при вызове из основного потока, и исключение не является перехваченный.

обратите внимание, что это «хороший» способ выхода. @glyphtwistedmatrix ниже указывает, что если вы хотите «жесткий выход», вы можете использовать ОС.Для _exit(errorcode), хотя это, вероятно, в какой-то степени специфично для ОС (например, это может не принимать код ошибки под windows), и это определенно менее дружелюбно, поскольку он не позволяет интерпретатору делать какие-либо очистка перед процессом умирает.

простой способ завершить скрипт Python раньше-использовать встроенную функцию quit (). Нет необходимости импортировать какую-либо библиотеку, и это эффективно и просто.

Источник

Python. Прервать выполнение скрипта по времени

Дата 08.10.2017 Автор Alex Рубрика Программирование

Бывают ситуации, когда надо ограничить время выполнения скрипта. К примеру, в программе есть запрос к удалённому серверу, который может длиться сколь угодно долго. В таком случае надо сделать прерывание выполнения функции при длительном простое. В этой статье рассмотрю простейший способ создания такого прерывания.

Рабочая среда: Linux Mint + Python (версия 2.7.12).

Методы: Реализуем прерывание через библиотеку «signal». Потому что это самый простой способ.

Прерывание выполнения скрипта по времени

Возьмём простую тестовую программу:

except Exception as e:

Синтаксис команды прост:

Вставим signal в пример:

signal.alarm(2)
time.sleep(5)
signal.alarm(0)

except Exception as e:

Как можно догадаться, с таким скриптом Exception всегда будет срабатывать. Потому что задержка в 5 секунд выполняется дольше, чем время ожидания сигнала в 2 секунды.

Специфический ответ от signal

В приведённом примере во время вызова Exception в переменной «e» будет находиться текст «Сигнал таймера». Это не информативно. Но есть способ задать этот текст:

def signal_handler(signum, frame):

raise Exception(» Script is too slow! «)

signal.alarm(2)
time.sleep(5)
signal.alarm(0)

except Exception as e:

Теперь во время прерывания будет печататься текст » Script is too slow! «.

Заключение

Если вам понадобится ограничить время работы python скрипта, то легче всего это можно сделать через «signal» библиотеку.

Можно сделать через библиотеку thread, но там больше заморочек.

Источник

Правильный способ приостановить программу Python

Я использую функцию ввода как способ приостановить мои скрипты

есть ли формальный способ сделать это?

10 ответов

кажется мне прекрасным (или raw_input() в Python 2.Икс.) В качестве альтернативы вы можете использовать time.sleep() Если вы хотите сделать паузу на определенное количество секунд.

Я предполагаю, что вы хотите сделать паузу без ввода

Итак, я обнаружил, что это очень хорошо работает в моих начинаниях кодирования. Я просто создана функция в самом начале моей программы,

теперь очевидно, что эта программа не имеет цели и просто для примера целей, но вы можете понять, что именно я означать.

примечание: для Python 3 вам нужно будет использовать input В противоположность raw_input

Я использую следующее Для python 2 и 3, чтобы приостановить выполнение кода, пока пользователь не нажмет ENTER

у меня был аналогичный вопрос, и я использовал сигнал:

, который отправит сигнал 2 (т. е. SIGINT) в вашу программу python. Ваша программа вызовет зарегистрированный обработчик и продолжит работу.

Как указал mhawke и stevehaкомментарии, лучший ответ на этот точный вопрос будет:

для длинного блока текста лучше всего использовать input(‘Press to continue’) (или raw_input(‘Press to continue’) на Python 2.x) запрашивать пользователя, а не время задержки. Быстрые читатели не хочу ждать задержки, медленные читатели могут захотеть больше времени задержка, кто-то может быть прерван во время чтения и хочет намного больше времени и т. д. Кроме того, если кто-то использует программу много, он/она возможно, привыкли, как это работает и не нужно даже читать долго текст. Это просто дружелюбнее, чтобы позволить пользователю контролировать, как долго блок текст отображается для чтения.

Источник

Завершение программы в Python

Как сделать раннее завершение программы в Python? В самоучителе я нашёл несколько примеров:

Однако там не было объяснения какой метод лучше. Какой метод является наиболее «безаварийным»?

И заодно: есть ли в Python понятие Autocloseable объектов? Если я сделаю ранее завершение программы, нужно ли мне будет закрывать файлы и т.д.?

2 ответа 2

Короткий ответ:
Лучше использовать sys.exit()

Функция exit и аналогичная ей quit созданы для удобства работы в интерактивном режиме и их не рекомендуется использовать внутри скриптов:

They are useful for the interactive interpreter shell and should not be used in programs.

По факту они также просто поднимают исключение, и при попытке вызова без скобок напишут подсказку о правильном способе выхода из интерпретатора:

Использовать sys.exit стоит потому, что эта функция лежит в стандартном модуле и будет всегда там доступна. Также это довольно явный способ выразить своё желание завершить программу.

The standard way to exit is sys.exit(n)

Этот код откроет файл, напечатает его содержимое на экран и закроет файл автоматически, даже если возникнет исключение при его печати.

is equivalent to this:

Вот небольшой пример работы этой функции:

Однако, при использовании конструкции with это оборачивание происходит автоматически, и все ресурсы закрываются корректно.

Источник

4 Способа выхода из программы с помощью функции Python Exit

Выйти из программы,не дойдя до ее конца, можно с помощью таких функций python exit, как exit (), quit() и sys.exit()

4 Способа выхода из программы с помощью функции Python Exit

Есть много случаев, когда мы хотим выйти из программы до того, как это сделает интерпретатор, и для этой цели у нас есть python exit function. Помимо exit у нас также есть некоторые функции, такие как quit (), sys.exit() и os._exit(). Давайте узнаем о каждом из их достоинств и недостатков.

Во время простого выполнения программы (без использования упомянутых выше функций), когда интерпретатор достигает конца программы/скрипта, он выходит из программы. Но когда мы используем такие функции, как выход и выход, он выходит автоматически в это время.

Работа с функциями выхода Python

Иногда нам нужно, чтобы программа остановилась до того, как интерпретатор достигнет конца сценария, например, если мы сталкиваемся с чем-то, что не требуется. Итак, давайте разберемся, какие функции можно использовать ниже 4 способами –

1. Выход Python()

Эта функция может быть реализована только тогда, когда site.py модуль есть (он поставляется с предустановленным Python), и именно поэтому его не следует использовать в производственной среде. Он должен использоваться только с переводчиком.

В фоновом режиме функция выхода python использует исключение SystemExit. Это означает, что когда интерпретатор сталкивается с exit (), он выдает исключение SystemExit. Кроме того, он не печатает трассировку стека, что означает, почему произошла ошибка.

Если мы выполним print(exit) –

Ниже приведен код выхода из программы, если мы сталкиваемся с избирателем в возрасте до 18 лет.

Если мы запустим программу на python, то на выходе получим-

2. Python exit с помощью quit()

Эта функция работает точно так же, как exit(). Нет никакой разницы. Это делается для того, чтобы сделать язык более удобным для пользователя. Только подумай, ты же href=”https://en.wikipedia.org/wiki/Programmer”>новичок в языке python, какая функция, по вашему мнению, должна использоваться для выхода из программы? Выходите или уходите, верно? Это то, что делает Python простым в использовании языком. Как и функция python exit, функция python quit() не оставляет следов стека и не должна использоваться в реальной жизни. href=”https://en.wikipedia.org/wiki/Programmer”>новичок в языке python, какая функция, по вашему мнению, должна использоваться для выхода из программы? Выходите или уходите, верно? Это то, что делает Python простым в использовании языком. Как и функция python exit, функция python quit() не оставляет следов стека и не должна использоваться в реальной жизни.

Предположим, мы хотим выйти из программы, когда встречаем имя в списке меток-

3. Функция Sys.exit() в Python

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

4. Функция os._exit В Python

Эта функция вызывает функцию C (), которая немедленно завершает работу программы. Кроме того, это утверждение “никогда не может вернуться”.

Разница между выходом(0) и выходом(1)

Основное различие между exit(0) и exit(1) заключается в том, что exit(0) представляет успех при любых ошибках, а exit(1) представляет неудачу.

Должен Читать:

Вывод

Функция exit является полезной функцией, когда мы хотим выйти из нашей программы без интерпретатора, достигающего конца программы. Некоторые из используемых функций-это python exit function, quit(), sys.exit(), os._exit(). Мы должны использовать эти функции в соответствии с нашими потребностями.

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

Источник

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

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