Il existe deux manières différentes d'afficher des messages.
print
va généralement à sys.stdout
et vous savez où sys.stderr
va. Il vaut la peine de connaître la différence entre stdin, stdout, and stderr.
stdout
doit être utilisé pour la sortie normale du programme, tandis que stderr
doit être réservé uniquement pour les messages d'erreur (exécution de programme anormale). Il existe des utilitaires pour diviser ces flux, ce qui permet aux utilisateurs de votre code de différencier la sortie normale des erreurs.
print
peut imprimer sur un objet de type fichier, y compris sys.stderr
:
print >> sys.stderr, 'My error message'
Les avantages de l'utilisation sys.stderr
pour les erreurs au lieu de sys.stdout sont:
- Si l'utilisateur redirigé vers
stdout
un fichier, ils voient toujours des erreurs sur l'écran.
- Il n'est pas tamponné, donc si
sys.stderr
est redirigé vers un fichier journal, il y a moins de risque que le programme se bloque avant que l'erreur ne soit consignée.
Il convient de noter qu'il ya une troisième façon, vous pouvez fournir un message de fermeture:
sys.exit('My error message')
Ceci enverra un message à stderr
et la sortie.
Merci pour la réponse. – user225312