print - Diferencia entre la salida(0) y la salida(1) en Python
format python (5)
0 y 1 son los códigos de salida.
exit(0)
significa una salida limpia sin errores / problemas
exit(1)
significa que hubo algún problema / error / problema y es por eso que el programa está saliendo.
Esto no es específico de Python y es bastante común. Un código de salida distinto de cero se trata como una salida anormal y, a veces, el código de error indica cuál fue el problema. Un código de error cero significa una salida exitosa.
Esto es útil para otros programas, shell, llamador, etc. para saber qué sucedió con su programa y proceder en consecuencia.
¿Cuál es la diferencia entre exit(0)
y exit(1)
en Python?
Intenté mirar alrededor pero no encontré una pregunta específica en estas líneas. Si ya ha sido respondida, un enlace sería suficiente.
El número que pasa a la función exit()
es simplemente el código de retorno de su programa, que se le da al sistema operativo. Desde el punto de vista de su programa, no hay diferencia: la ejecución finalizará en ambos casos, y el valor proporcionado a la función se asignará al sistema operativo. Pero algunas herramientas y scripts tienen en cuenta el código de salida del programa. La mayoría de las herramientas devuelven 0 cuando tienen éxito y son distintas de cero para indicar un error.
Por lo tanto, si su programa se ejecutará desde un script, una herramienta automatizada o desde otro software que tenga en cuenta el código de retorno (como un IDE), debe tener cuidado con lo que devuelve.
En caso de duda, simplemente devuelva 0 para indicar que todo está bien.
Esto determina el estado de salida del programa cuando termina de ejecutarse (generalmente, 0 para el éxito y 1 para el error).
No es exclusivo de Python, y el efecto exacto depende de su sistema operativo y de cómo se llame al programa (aunque el 99% de las veces, si solo está ejecutando scripts de Python, no importa).
La convención estándar para todos los programas C, incluido Python, es para la exit(0)
para indicar el éxito, y la exit(1)
o cualquier otro valor distinto de cero (en el rango 1..255) para indicar la falla. Cualquier valor fuera del rango 0..255 se trata con el módulo 256 (el estado de salida se almacena en un valor de 8 bits). A veces, eso se tratará como firmado (por lo que puede ver -128, -127, etc.) pero, por lo general, se trata como sin firmar.
Este estado está disponible para el código que invocó a Python. Esta convención se aplica a todas las plataformas, aunque el significado del estado de salida distinto de cero puede variar en diferentes plataformas.
exit(0)
: Esto hace que el programa salga con una terminación exitosa.
exit(1)
: Esto hace que el programa salga con un significado específico del sistema.
En muchos sistemas, la exit(1)
indica algún tipo de falla, sin embargo, no hay garantía.
Según recuerdo, el estándar C solo reconoce tres valores de salida estándar:
-
EXIT_SUCCESS
: finalización exitosa -
EXIT_FAILURE
: finalización infructuosa -
0
- igual queEXIT_SUCCESS