Formas eficientes de detener y finalizar cualquier aplicación Python

Durante el desarrollo de software con Python, cerrar las aplicaciones puede ser importante para lograr una inspección adecuada del código o realizar las modificaciones necesarias.

Saber cómo finalizar una aplicación es importante y puede resultar útil en diferentes escenarios. Por ejemplo, si está creando un juego simple, puede finalizar el juego según la entrada específica del usuario o cuando se cumpla una determinada condición. Descubra las diferencias entre los distintos métodos para detener una aplicación Python. Verificar Cómo configurar y ejecutar su primera prueba de código Python usando Pytest.

Formas efectivas de detener y finalizar cualquier aplicación Python - 1SxV0K6lnHttUBLVAUwmcow DzTechs | Explicaciones

1. Utilice Salir() o salir()

Una de las formas más sencillas de finalizar una aplicación Python es utilizar uno de los métodos integrados, Quit() o Exit(). Cuando se llama a Quit() o Exit(), la aplicación finalizará.

ملاحظة: Las funciones Quit() y exit() hacen exactamente lo mismo, es sólo una cuestión de preferencia personal cuál usar.

A continuación se explica cómo utilizar la función Quit() para salir de una aplicación Python:

for num in range(10):
    if num == 9:
        quit()
    print(num)

El formulario de salida de la aplicación anterior imprimirá números del 0 al 8 en la pantalla. Una vez que el número se convierte en 9, la aplicación sale y sale de su ventana. También puede utilizar el comando Quit() para salir del entorno de aprendizaje y desarrollo integrado de Python (IDLE), que le permite ejecutar scripts de Python de forma interactiva.

Tenga en cuenta que tanto quit() como exit() son funciones que dependen del módulo de ubicación, por lo que no debe utilizarlas en entornos de producción. El siguiente método, sys.exit(), es una mejor opción.

2. Utilice sys.exit()

Cuando se llama a sys.exit() en su aplicación, Python genera una excepción SystemExit. Que acepta un argumento opcional para especificar un código de salida válido (0 por defecto). También puede pasar un objeto que dará como resultado un código de salida de 1 e imprimirá el valor de la cadena del objeto como error estándar.

import sys # Remember to include this statement at the top of the module
for num in range(10):
    if num == 5:
        sys.exit("You exited the program")
    print(num)

Los resultados de la aplicación serán los siguientes:

Formas efectivas de detener y finalizar cualquier aplicación Python - 1vvkbNeeHrHTwGVEmioY1zg DzTechs | Explicaciones

ملاحظة: Al igual que con los métodos Quit() y exit(), sys.exit() también genera una excepción SystemExit. Esto significa que puede llamar a sys.exit() o generar SystemExit(). Ambos aceptan un argumento opcional.

Deberías llegar a conocer Las funciones más importantes de Python Si no comprende cómo funciona el código anterior.

3. Utilice os._exit()

La tercera forma de salir de la aplicación es el método especial os._exit(). Puede pasar un argumento opcional para especificar el código de estado de salida. os._exit() proviene del módulo del sistema operativo y finaliza el proceso inmediatamente sin realizar las actividades de limpieza normales que ocurren al salir de una aplicación Python.

Debido a que esta función finaliza sin realizar una limpieza normal, debe usarla sólo en casos especiales. De acuerdo a Para documentación de PythonUn buen ejemplo es un proceso hijo después de una bifurcación (un nuevo proceso creado con os.fork()).

A continuación se muestra un ejemplo de cómo utilizar la función os._exit() para salir de la aplicación:

import os
import sys
def child_process():
    print("Child process is running.")
    os._exit(0)
def main():
    print("Parent process is running.")
    try:
        pid = os.fork()
        if pid == 0:
            # Code in the child process
            child_process()
        else:
            # Code in the parent process
            print(f"Parent process is continuing with child process PID: {pid}")
    except OSError as e:
        print(f"Fork failed: {e}")
        sys.exit(1)
    print("Parent process is done.")
if __name__ == "__main__":
    main()

El código anterior generará lo siguiente:

Formas eficientes de detener y finalizar cualquier aplicación Python - 1ywV NnCFf8bYAxY3Ha9JRg DzTechs | Explicaciones

¿Qué método debería utilizar para finalizar una aplicación en Python?

Python proporciona diferentes formas de finalizar una aplicación. Sin embargo, la mayoría de estos métodos hacen lo mismo. Esto debería reducir la carga de decidir si necesita agregar un mecanismo de salida a su aplicación cuando Aprende Python.

En resumen, sys.exit() debería ser su método preferido para salir de una aplicación en Python. Genera una excepción SystemExit con un código de salida opcional.

Los métodos Quit() y exit() son más convenientes cuando se usa Python REPL. Debes evitarlos en producción porque dependen del módulo de ubicación, que puede no estar siempre disponible. Rara vez necesitas usar os._exit(), a menos que estés trabajando con un código que lo maneje. Puedes ver ahora Cómo instalar Python en un teléfono Android usando Termux.

Ir al Inicio