Conozco el comando die()
en PHP que detiene un script antes de tiempo.
Cómo puedo hacer esto en Python?
import sys
sys.exit()
detalles de la documentación del módulo sys
:
<código>sys.exit([arg])</código>
Salir de Python. Esto se implementa levantando el
SystemExit
excepción, por lo que las acciones de limpieza especificadas por las cláusulas finally de las sentenciastry
son honradas, y es posible interceptar el intento de salida a un nivel externo.El argumento opcional arg puede ser un entero que da el estado de salida (por defecto cero), u otro tipo de objeto. Si es un entero, cero se considera "terminación exitosa" y cualquier valor distinto de cero es valor distinto de cero es considerado "terminación anormal" por los shells y similares. La mayoría de los sistemas requieren que esté en el rango 0-127, y producen resultados indefinidos resultados indefinidos. Algunos sistemas tienen una convención para asignar significados Algunos sistemas tienen una convención para asignar significados específicos a códigos de salida específicos, pero estos están generalmente subdesarrollados. generalmente poco desarrollados; los programas Unix generalmente usan 2 para errores de sintaxis en la línea de comandos y 1 para cualquier otro tipo de error. errores de la línea de comandos y 1 para todos los demás tipos de errores. Si se pasa otro tipo de objeto Si se pasa otro tipo de objeto, None es equivalente a pasar cero, y cualquier otro objeto se impreso a
stderr
y resulta en un código de salida de 1. En particular,sys.exit("algún mensaje de error")
es una forma rápida de salir de un programa cuando se produce un error.Como
exit()
al final "sólo" lanza una excepción, sólo saldrá proceso cuando se llama desde el hilo principal, y la excepción no es interceptada. interceptada.
Tenga en cuenta que esta es la forma "bonita" de salir. @glyphtwistedmatrix señala que si quiere una 'salida dura', puede usar os._exit(errorcode), aunque es probable que sea específico de os hasta cierto punto (podría no tomar un código de error bajo windows, por ejemplo), y definitivamente es menos amigable ya que no deja que el intérprete haga ninguna limpieza antes de que el proceso muera.