Códigos de salida de Python

Códigos de salida de Python
Si alguna vez ha trabajado en un sistema UNIX, probablemente esté familiarizado con el concepto de un código de salida. Si no lo es, hagamos un resumen rápido. Un código de salida se refiere a un código de salida específico devuelto por un comando, script o programa tras la ejecución. Se utiliza un código único para indicar el estado del proceso después de haber completado la ejecución. El estado del proceso podría ser exitoso, falla u otra condición. Por lo tanto, el papel de los códigos de salida es indicar cómo se comportó el proceso.

Con eso fuera del camino, exploremos los códigos de salida de Python, cómo funcionan y cómo puede usarlos en sus programas.

Códigos de salida estándar de Python

Python tiene solo dos códigos estándar, yo.mi., un uno y un cero. El código de salida de 0 significa que el proceso ha sido ejecutado y salido con éxito. Esto significa que no se encontró ningún error. Por otro lado, un código de error de 1 indica que el proceso salió con una falla. Echemos un vistazo a un programa muy simple que solo imprime la cadena "Bienvenido a Linuxhint!".

Imprimir ("Bienvenido a Linuxhint!")

Como puede adivinar, si ejecutamos el programa anterior, se ejecutará con éxito.

$ Python Exit_codes.py
Bienvenido a Linuxhint!

Podemos ver que el programa devuelve la salida deseada. En los sistemas UNIX, podemos usar el comando ECHO seguido de la variable de entorno ?. Esta variable de entorno le permite obtener el código de salida del último comando ejecutado.

En nuestro caso, el último comando es el programa Python:

$ Echo $?
0

Observe que el comando anterior devuelve 0. Esto muestra que nuestro programa Python se ejecuta con éxito.

¿Alguna vez ha personalizado su shell y devuelve un símbolo rojo si el comando anterior falla? Sí, usa el código de salida para hacer esto.

Ahora tomemos otro ejemplo:

Imprimir ("Bienvenido a Linuxhint!"

Observe algo mal con el programa anterior?

En el ejemplo anterior, al código anterior le falta el soporte de cierre para la función de impresión. Por lo tanto, si ejecutamos el programa anterior, fallará y devolverá un error.

$ Python Exit_codes.py
Archivo "/usuarios/nombre de usuario/exit_codes.py ", línea 2
^
SyntaxError: EOF inesperado mientras analiza

Aquí, podemos ver claramente que el programa falla y devuelve un error.

Ahora verifiquemos el código de salida.

Echo $?
1

Lo adivinaste; El comando devuelve un código de salida 1. Esto muestra que el programa anterior falló miserablemente.

Códigos de salida personalizados de Python: el módulo SYS

Uno de los módulos más útiles que animo a los compañeros geeks de Python a aprender es el módulo SYS.

Es un gran módulo que es la biblioteca estándar de Python incorporada pero proporciona funcionalidades excepcionales del sistema.

Suficiente alabanza; Podemos usar una de las funciones del módulo SYS para crear códigos de salida personalizados en nuestros programas de Python.

La función se llama Exit () y tiene sintaxis como la que se muestra a continuación:

sys.salida ([arg])

Como puede ver, la función tiene una sintaxis relativamente simple.

Le permite especificar el parámetro arg, que es opcional. Puede ser un entero o cualquier objeto compatible.

Si el argumento proporcionado es un entero cero o ninguno, se considera una ejecución exitosa. Para cualquier otro valor por encima de cero, indica una terminación anormal.

Aunque dependerá del sistema, el valor del código de salida puede variar de 0 a 127.

También puede pasar una cadena que se mostrará cuando el programa salga.

Tome el programa de ejemplo a continuación que devuelva un código de salida de 125.

de la salida de importación de sys
Imprimir ("Hola!")
Salida (125)
Imprimir ("Bienvenido a Linuxhint")

En el programa de ejemplo anterior, comenzamos importando la función de salida desde el módulo SYS.

Luego usamos la declaración de impresión para imprimir algún texto en la pantalla.

Para la parte importante, usamos la función de salida y pasamos el código de salida como 125.

Nota: Tan pronto como Python encuentre la función EXIT (), finalizará inmediatamente el programa y devolverá el código de salida o el mensaje especificado.

Podemos verificar esto ejecutando el programa como:

$ python3 exit_codes.py
Hola!

Podemos ver en la salida anterior que la segunda declaración de impresión no ejecuta.

Verifiquemos el código de salida como:

$ Echo $?
125

Podemos ver que el código de salida es 125, como se especifica en nuestro programa.

Considere el ejemplo a continuación que imprime una cadena en lugar de un código de salida.

de la salida de importación de sys
Imprimir ("Hola!")
Salir ("Programa terminado inesperadamente")
Imprimir ("Bienvenido a Linuxhint")

En este caso, estamos utilizando una cadena literal como el parámetro Arg dentro de la función. Una vez que ejecutamos el programa:

$ python3 exit_codes.py
Hola!

Programa terminado inesperadamente

Podemos ver que el programa imprime el mensaje antes de la función de salida y la de la función de salida.

¿Puedes adivinar cuál es el código de salida del programa anterior?? Vamos a ver:

$ Echo $?
1

Si, es uno. Cualquier finalización anormal del programa que no proporcione sus propios códigos personalizados se le asignará un código de salida de 1.

Nota: Use la función de salida cuando necesite terminar su programa de inmediato.

Conclusión

Y con eso, hemos llegado al final de nuestro tutorial. En este artículo, aprendimos cómo funcionan los códigos de salida de Python y cómo crear códigos de salida personalizados utilizando el módulo SYS.

Feliz codificación, y como siempre, gracias por leer!!