كيفية إعادة تشغيل برنامج في بايثون - شرح!

هل تتساءل عن كيفية إعادة تشغيل برنامج Python الخاص بك من داخل نفسه؟ حسنًا ، الأمر بسيط للغاية. ما عليك سوى إضافة سطر واحد إلى برنامجك.

لنفعل هذا باستخدام مثال. لنفترض أن لدينا برنامجًا يأخذ درجة من المستخدم ويخبرنا بالملاحظات.

على سبيل المثال ، إذا كانت النتيجة 90 ، فإن الملاحظة ستكون رائعة. إذا أدخل المستخدم النتيجة بشكل صحيح ، فسيعمل البرنامج بشكل صحيح.



علاوة على ذلك ، لكي تكون الدرجة صحيحة ، يجب أن تكون رقمًا وفي النطاق من 0-100.

الآن ، إذا أدخل المستخدم درجة غير صالحة ، فنحن نريد أن يقوم البرنامج بعرض رسالة الخطأ ثم إعادة التشغيل مرة أخرى. يمكننا القيام بذلك بسهولة باستخدام سطر التعليمات البرمجية التالي.

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

تأكد من الاستيراد sys و أنت ، و عملية فرعية قبل استخدام السطر أعلاه.

يتم إعطاء الرمز الكامل أدناه.

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()

انتاج |

 بايثون أعد تشغيل مخرجات البرنامج

بايثون أعد تشغيل مخرجات البرنامج

في المثال أعلاه ، عندما يقوم المستخدم بإدخال إدخال غير صحيح ، يتم رفع استثناء. يتم التعامل معها في كتلة الاستثناء ، حيث نعرض رسالة الخطأ ونعيد تشغيل البرنامج.