Quiero saber si una secuencia de comandos de Python está terminando correctamente o no. Para esto estoy usando atexit
pero el problema es que no sé cómo diferenciar si atexit fue llamado con sys.exit (0) o no cero o una excepción.¿Cómo encontrar el código de salida o el motivo cuando se llama a la llamada atexit en Python?
Razonamiento: si el programa finaliza correctamente, no hará nada más que si el programa finaliza con una excepción o devuelve un código de error (estado de salida) distinto de cero. Deseo activar alguna acción.
En caso de que se pregunte por qué no estoy utilizando try/finally es porque quiero agregar el mismo comportamiento para una docena de scripts que están importando un módulo común. En lugar de modificarlos a todos, quiero agregar el atexit() hack al módulo que se está importando y obtener este comportamiento de forma gratuita en todos ellos.
¿Qué quieres lograr? ¿Por qué no solo usar el manejo correcto de errores? –