Cómo reiniciar un programa en Python – ¡Explicado!

¿Se pregunta cómo reiniciar su programa Python desde dentro de sí mismo? Bueno, es bastante simple. Solo necesita agregar una línea a su programa.

Hagamos esto usando un ejemplo. Supongamos que tenemos un programa que toma una puntuación del usuario y le dice los comentarios.

Por ejemplo, si la puntuación es 90, entonces el comentario sería sobresaliente. Si el usuario ingresa la puntuación correctamente, el programa se ejecutará correctamente.



Además, para que una puntuación sea correcta, debe ser un número y estar en el rango de 0-100.

Ahora, si el usuario ingresa una puntuación no válida, queremos que el programa muestre el mensaje de error y luego se reinicie nuevamente. Podemos hacerlo fácilmente usando la siguiente línea de código.

 

subprocess.call([sys.executable, os.path.realpath(__file__)] +
sys.argv[1:])

 

Asegúrate de importar sistema , , y subproceso antes de usar la línea anterior.

El código completo se da a continuación.

 

import os
import sys
import subprocess

def calculateGrade():

    try:

        val = float(input("Enter your marks: "))

        if val >= 90 and val <= 100:

            print("Outstanding")

        elif val >= 80 and val < 90:

            print("Excellent")

        elif val >= 70 and val < 80:

            print("Very Good")

        elif val>= 60 and val < 70:

            print("Needs Improvement")

        elif val>=30 and val <60:

            print("Work hard")

        elif val>=0 and val<30:

            print("Poor")

        else:

            raise ValueError("Enter a valid score, i.e., between 0 and 100")

    except Exception as err:

        print("ERROR:", err)


        print("Restarting the program")

        print("------------------------")

        subprocess.call([sys.executable, os.path.realpath(__file__)] +
sys.argv[1:]) #restart the program


calculateGrade()

 

Producción

 Python Reiniciar la salida de un programa

Python Reiniciar la salida de un programa

 

En el ejemplo anterior, cuando el usuario ingresa una entrada incorrecta, se genera una excepción. Se maneja en el bloque excepto, donde mostramos el mensaje de error y reiniciamos el programa.