Выйти из кода кода в Python

Существуют ли установленные стандарты кода выхода или зарезервированные коды выхода в Python (в частности, утилиты Python CLI)? (например,/usr/include/sysexits.h для C на платформах UNIX или http://tldp.org/LDP/abs/html/exitcodes.html для сценариев Bash)

Ответ 1

Если вы находитесь на платформе POSIX, вы можете получить доступ к константам из sysexit.h через модуль posix:

>>> import posix
>>> posix.EX_ <tab pressed>
posix.EX_CANTCREAT    posix.EX_NOHOST       posix.EX_OK           posix.EX_SOFTWARE
posix.EX_CONFIG       posix.EX_NOINPUT      posix.EX_OSERR        posix.EX_TEMPFAIL
posix.EX_DATAERR      posix.EX_NOPERM       posix.EX_OSFILE       posix.EX_UNAVAILABLE
posix.EX_IOERR        posix.EX_NOUSER       posix.EX_PROTOCOL     posix.EX_USAGE

Изменить. Эти константы доступны на всех платформах через модуль os.

Ответ 2

См. документацию для sys.exit().

Необязательный аргумент arg может быть целым числом, дающим статус выхода (по умолчанию - ноль) или другой тип объекта. Если это целое число, нуль считается "успешным завершением", и любое ненулевое значение считается "аномальным завершением" оболочками и тому подобное. Большинство систем требуют, чтобы оно находилось в диапазоне 0-127, и в противном случае создавайте результаты undefined. Некоторые системы имеют соглашение о назначении конкретных значений для конкретных кодов выхода, но они, как правило, недостаточно развиты; Программы Unix обычно используют 2 для синтаксических ошибок командной строки и 1 для всех других ошибок.