Python codes de sortie
Où puis-je trouver des informations sur la signification des codes de sortie de "python" de processus sous Unix? Par exemple, si je fais "python thisfiledoesntexist.py", j'obtiens le code de sortie 2
Résumé:
from errno import errorcode
print errorcode[2]
Vous devez vous connecter pour publier un commentaire.
Comme indiqué, la plupart des codes d'erreur proviennent de l'exécution du script et
sys.exit()
.L'exemple d'une non-existence de fichier comme argument à l'interprète de tomber dans une catégorie différente. Bien que ses objectifs de nulle part, je suppose, que ces codes de sortie sont la "norme" linux codes d'erreur. Il y a un module appelé
errno
qui fournit ces numéros d'erreur (les codes de sortie viennent delinux/include/errno.h
.I. e.:
errno.ENOENT
(représente pour les "No such file or directory") a le numéro 2, qui coïncide avec vous exemple.Le python manuel des membres de ce sujet, c'est que les codes de sortie:
Donc, depuis que vous avez spécifié
thisfiledoesntexist.py
comme un argument de ligne de commande, vous obtenez un code de retour de 2 (en supposant que le fichier n'est pas, en fait, existent. Dans ce cas, je conseillerais de le renommer enthisfiledoesexist.py
.;)
)Autre que de telles erreurs d'analyse, le code de retour est déterminé par le programme python exécuter. La valeur renvoyée est 0, sauf si vous spécifiez un autre code de sortie avec
sys.exit
. Python lui-même n'interfère pas.Peut-être que le code de sortie constantes de module os peut vous aider. Aussi jeter un oeil à sys.sortie de la documentation.
http://www.wingware.com/psupport/python-manual/2.7/library/sys.html
EDIT: pour se concentrer sur la partie qui explique cela:
http://www.wingware.com/psupport/python-manual/2.7/library/sys.html#sys.exit
exit
de Python programmes, et sans rapport avec le (c)de python interprète ainsi que ses codes de retour.Il n'existe malheureusement pas garantir à 100% que les Pythons codes de sortie sera ce que l' la documentation réclamations ils seront les suivantes: os._exit permet au programmeur python pour définir le code de sortie est censé être utilisé, ce qui signifie
python file_exists_but_claims_that_it_does_not.py
pourrait sortir avecos.EX_DATAERR
errno
, pas sûr de ce queos
codes sont pour, mais attribuer des significations différentes pour les mêmes valeurs numériques que l'errno
module