
هل تتساءل عن كيفية إعادة تشغيل برنامج 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()
انتاج |

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