Стандарты выхода из кода в Python - PullRequest
10 голосов
/ 20 июня 2011

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

Ответы [ 2 ]

15 голосов
/ 20 июня 2011

Если вы работаете на платформе 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 голосов
/ 20 июня 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...