Codes de sortie Python
Une fois cela mis de côté, explorons les codes de sortie de Python, comment ils fonctionnent et comment vous pouvez les utiliser dans vos programmes.
Codes de sortie standard Python
Python n'a que deux codes standards, à savoir un et zéro. Le code de sortie de 0 signifie que le processus a été exécuté et s'est terminé avec succès. Cela signifie qu'aucune erreur n'a été rencontrée. D'autre part, un code d'erreur de 1 indique que le processus s'est arrêté avec un échec. Regardons un programme très simple qui imprime simplement la chaîne « Bienvenue sur linux-console ! ».
print("welcome to linux-console!")Comme vous pouvez l'imaginer, si nous exécutons le programme ci-dessus, il s'exécutera avec succès.
python exit_codes.py
welcome to linux-console!Nous pouvons voir que le programme retourne la sortie désirée. Sur les systèmes Unix, nous pouvons utiliser la commande echo suivie de la variable d'environnement ?. Cette variable d'environnement vous permet d'obtenir le code de sortie de la dernière commande exécutée.
Dans notre cas, la dernière commande est le programme Python :
echo $?
0Remarquez que la commande ci-dessus retourne 0. Cela montre que notre programme Python s'exécute avec succès.
Avez-vous déjà personnalisé votre shell, afin qu'il renvoie un symbole rouge si la commande précédente échoue ? Oui, il utilise le code de sortie pour cela.
Maintenant, prenons un autre exemple :
print("welcome to linux-console!"Remarquez-vous quelque chose de mal avec le programme ci-dessus ?
Dans l'exemple ci-dessus, le code manquait de la parenthèse de fermeture pour la fonction print. Par conséquent, si nous exécutons le programme ci-dessus, il échouera et renverra une erreur.
python exit_codes.py
File "/Users/username/exit_codes.py", line 2
^
SyntaxError: unexpected EOF while parsingIci, nous pouvons clairement voir que le programme échoue et renvoie une erreur.
Vérifions maintenant le code de sortie.
echo $?
1Vous l'avez deviné ; la commande renvoie un code de sortie 1. Cela montre que le programme précédent a échoué de manière misérable.
Codes de sortie personnalisés Python - Le module SYS
Un des modules les plus utiles que j'encourage mes collègues passionnés de Python à apprendre est le module SYS.
C'est un excellent module qui est intégré à la bibliothèque standard de Python mais qui offre des fonctionnalités système exceptionnelles.
Assez de louanges ; nous pouvons utiliser l'une des fonctions du module SYS pour créer des codes de sortie personnalisés dans nos programmes Python.
La fonction s'appelle exit() et a une syntaxe comme celle montrée ci-dessous :
sys.exit([arg])Comme vous pouvez le constater, la fonction a une syntaxe relativement simple.
Il vous permet de spécifier le paramètre arg, qui est optionnel. Cela peut être un entier ou tout objet pris en charge.
Si l'argument fourni est un zéro entier ou None, cela est considéré comme une exécution réussie. Pour toute autre valeur supérieure à zéro, cela indique une terminaison anormale.
Bien que cela dépende du système, la valeur du code de sortie peut varier de 0 à 127.
Vous pouvez également passer une chaîne qui sera affichée lorsque le programme se termine.
Prenez le programme d'exemple ci-dessous qui renvoie un code de sortie de 125.
from sys import exit
print("Hi!")
exit(125)
print("Welcome to linux-console")Dans le programme d'exemple ci-dessus, nous commençons par importer la fonction exit du module sys.
Nous utilisons ensuite l'instruction print pour afficher du texte à l'écran.
Pour la partie importante, nous utilisons la fonction exit et passons le code de sortie comme 125.
REMARQUE : Dès que Python rencontre la fonction exit(), il terminera immédiatement le programme et renverra le code de sortie ou le message spécifié.
Nous pouvons vérifier cela en exécutant le programme comme suit :
python3 exit_codes.py
Hi!Nous pouvons voir d'après la sortie ci-dessus que la deuxième instruction d'impression ne s'exécute pas.
Vérifions le code de sortie comme suit :
echo $?
125Nous pouvons voir que le code de sortie est 125, comme spécifié dans notre programme.
Considérez l'exemple ci-dessous qui imprime une chaîne au lieu d'un code de sortie.
from sys import exit
print("Hi!")
exit("Program terminated unexpectedly")
print("Welcome to linux-console")Dans ce cas, nous utilisons une chaîne littérale comme paramètre arg à l'intérieur de la fonction. Une fois que nous exécutons le programme :
python3 exit_codes.py
Hi!Le programme s'est terminé de manière inattendue
Nous pouvons voir que le programme imprime le message avant la fonction de sortie et celui dans la fonction de sortie.
Peux-tu deviner quel est le code de sortie du programme ci-dessus ? Voyons voir :
echo $?
1Oui, c'est un. Toute terminaison anormale du programme qui ne fournit pas ses propres codes personnalisés se verra attribuer un code de sortie de 1.
REMARQUE : Utilisez la fonction de sortie lorsque vous devez terminer votre programme immédiatement.
Conclusion
Et avec cela, nous en avons terminé avec notre tutoriel. Dans cet article, nous avons appris comment fonctionnent les codes de sortie Python et comment créer des codes de sortie personnalisés en utilisant le module sys.
Bon codage, et comme toujours, merci de lire !!