Разница между exit(0) и exit (1) в Python

в чем разница между exit(0) и exit(1) в Python?

Я попытался оглядеться, но не нашел конкретного вопроса в этих строках. Если на него уже ответили, ссылки будет достаточно.

5 ответов


0 и 1-коды выхода.

exit(0) означает чистый выход без каких-либо ошибок / проблем

exit(1) означает, что была какая-то проблема / ошибка / проблема, и именно поэтому программа выходит.

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

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


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

Он не уникален для Python, и точный эффект зависит от вашей операционной системы и того, как вызывается программа (хотя 99% времени, если вы просто запускаете скрипты Python, это не имеет значения).


стандартное соглашение для всех программ C, включая Python, для exit(0) для обозначения успеха, и exit(1) или любое другое ненулевое значение (в диапазоне 1..255) для указания отказа. Любое значение вне диапазона 0..255 обрабатывается по модулю 256 (состояние выхода сохраняется в 8-разрядном значении). Иногда это будет рассматриваться как подписанное (так что вы можете увидеть -128, -127 и т. д.), Но чаще это рассматривается как неподписанное.

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


количество передаваемых exit() функция-это просто код возврата вашей программы, который предоставляется операционной системе. С точки зрения вашей программы, нет никакой разницы: выполнение завершится в обоих случаях, и значение, предоставленное функции, будет передано ОС. Но некоторые инструменты и скрипты учитывают код выхода программы. Большинство инструментов возвращают 0, когда они успешны и ненулевые, чтобы указать на ошибку.

Итак, если ваша программа будет запущена из скрипта, automated tool или из другого программного обеспечения, которое учитывает код возврата (например, IDE), вы должны быть осторожны в том, что вы возвращаете.

когда вы сомневаетесь, просто верните 0, чтобы указать, что все в порядке.


exit(0): Это приводит к выходу программы с успешным завершением.

exit(1): это заставляет программу выходить с системным значением.

на многих системах, exit(1) сигнализирует о каком-то сбое, однако там это не гарантия.

насколько я помню, стандарт C распознает только три стандартных выхода значения:

  • EXIT_SUCCESS -- успешного завершения
  • EXIT_FAILURE -- неудачная прекращение
  • 0 -- то же самое, что EXIT_SUCCESS