Est-il possible d'arrêter l'exécution d'un python script à n'importe quelle ligne avec une commande ?
Comme
some code
quit() # quit at this point
some more code (that's not executed)
Est-il possible d'arrêter l'exécution d'un python script à n'importe quelle ligne avec une commande ?
Comme
some code
quit() # quit at this point
some more code (that's not executed)
sys.exit() fera exactement ce que vous voulez.
import sys
sys.exit("Error message")
Pourquoi n'est-ce pas la réponse acceptée ? Y a-t-il une raison de préférer import sys; sys.exit(0)
?
Je n'ai aucune idée si c'est préférable ou non mais pour moi cela fonctionne. sys.exit() donne des erreurs avant de tuer l'application.
stackoverflow.com/questions/13992662/ - Ce n'est vraiment pas un gros problème. Il est fort possible que vous utilisiez déjà sys, donc sys.exit() est plus propre.
Quieres sys.exit()
. Extrait de la documentation de Python :
>>> import sys
>>> print sys.exit.__doc__
exit([status])
Quitter l'interpréteur en levant SystemExit(status). Si le statut est omis ou nul, il prend la valeur zéro par défaut (c'est-à-dire le succès). Si le statut est numérique, il sera utilisé comme le statut de sortie du système. S'il s'agit d'un autre type d'objet, il sera imprimé et l'état de sortie du système et l'état de sortie du système sera égal à un (c'est-à-dire un échec).
Donc, en gros, vous allez faire quelque chose comme ça :
from sys import exit
# Code!
exit(0) # Successful exit
Voyez pourquoi le simple exit() fonctionne sans importation : docs.python.org/library/constants.html
En exit()
y quit()
Les fonctions intégrées font exactement ce que vous voulez. Pas d'importation de sys nécessaire.
Alternativement, vous pouvez soulever SystemExit
mais vous devez faire attention à ne pas l'attraper n'importe où (ce qui ne devrait pas arriver tant que vous spécifiez le type d'exception dans tous vos blocs try ).
La référence de la bibliothèque Python indique explicitement que ces fonctions ne doivent être utilisées que dans l'interpréteur interactif et que no dans les programmes.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.