طرق فعّالة لإيقاف وإنهاء أي تطبيق Python

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

من المهم معرفة كيفية إنهاء التطبيق ويمكن أن يكون مفيدًا في سيناريوهات مختلفة. على سبيل المثال، إذا كنت تقوم بإنشاء لعبة بسيطة، فيمكنك إنهاء اللعبة بناءً على إدخال مستخدم مُحدد أو عند استيفاء شرط معين. اكتشف الاختلافات بين الطرق المُختلف لإيقاف تطبيق Python. تحقق من كيفية إعداد وتشغيل أول اختبار لكود Python باستخدام Pytest.

1. استخدام Quit() أو exit()

واحدة من أبسط الطرق لإنهاء تطبيق Python هي استخدام إحدى الطرق المُضمَّنة، Quit() أو Exit(). عند استدعاء إما Quit() أو Exit()، سيتم إنهاء التطبيق.

ملاحظة: تقوم الدالتان Quit() و exit() بنفس الشيء تمامًا، إنها مجرد مسألة تفضيل شخصي لأيهما تستخدم.

إليك كيفية استخدام الدالة Quit() لإنهاء تطبيق Python:

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

سيقوم نموذج إنهاء التطبيق أعلاه بطباعة الأعداد من 0 إلى 8 على الشاشة. بمجرد أن يُصبح الرقم 9، يتم إنهاء التطبيق والخروج من نافذته. يُمكنك أيضًا استخدام الأمر Quit() للخروج من بيئة Python المُتكاملة للتطوير والتعلم (IDLE)، والتي تتيح لك تشغيل برامج Python النصية بشكل تفاعلي.

لاحظ أن كلا من ()quit و exit() من الدوال التي تعتمد على وحدة الموقع لذا لا يجب عليك استخدامها في بيئات الإنتاج. الطريقة التالية، sys.exit()، هي خيار أفضل.

2. استخدام sys.exit()

عند استدعاء sys.exit() في تطبيقك، تقوم Python بإطلاق استثناء SystemExit. والذي يقبل وسيطة اختيارية لتحديد رمز خروج صحيح (0 افتراضيًا). يُمكنك أيضًا تمرير كائن مما سيؤدي إلى رمز خروج قدره 1 وسيطبع قيمة سلسلة الكائن إلى خطأ قياسي.

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)

مخرجات التطبيق ستكون على النحو التالي:

ملاحظة: كما هو الحال مع طريقتي Quit() و exit() ، فإنَّ sys.exit() أيضًا تُثير استثناء SystemExit. هذا يعني أنه يمكنك استدعاء sys.exit() أو رفع SystemExit(). كلاهما يقبل حجة اختيارية.

يجب أن تتعرف على أهم دوال Python إذا لم تفهم كيفية عمل الكود أعلاه.

3. استخدام os._exit()

الطريقة الثالثة للخروج من التطبيق هي الطريقة الخاصة os._exit() . يُمكنك تمرير وسيطة اختيارية لتحديد رمز حالة الخروج. تأتي os._exit() من وحدة نظام التشغيل وتُنهي العملية على الفور دون إجراء أنشطة التنظيف العادية التي تحدث عند الخروج من تطبيق Python.

نظرًا لأنه يتم إنهاء هذه الدالة دون إجراء التنظيف العادي، فيجب عليك استخدامها فقط في حالات خاصة. وفقًا لوثائق Python، من الأمثلة الجيدة على ذلك العملية الفرعية بعد fork (عملية جديدة تم إنشاؤها باستخدام os.fork()).

فيما يلي مثال لكيفية استخدام الدالة os._exit() لإنهاء التطبيق:

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

الكود أعلاه سيخرج ما يلي:

ما الطريقة التي يجب عليك استخدامها لإنهاء تطبيق في Python؟

تُوفر Python طرقًا مختلفة لإنهاء التطبيق. ومع ذلك، فإن معظم هذه الأساليب تفعل الشيء نفسه. من المفترض أن يُقلل هذا من عبء اتخاذ القرار إذا كنت بحاجة إلى إضافة آلية خروج إلى تطبيقك عند تعلم Python.

باختصار، sys.exit() يجب أن تكون طريقتك المفضلة لإنهاء تطبيق في Python. فإنها تُثير استثناء SystemExit مع رمز الخروج الاختياري.

تعد طريقتا Quit() و exit() أكثر ملاءمة عند استخدام Python REPL. يجب عليك تجنبها في الإنتاج لأنها تعتمد على وحدة الموقع، والتي قد لا تكون متاحة دائمًا. نادرًا ما تحتاج إلى استخدام os._exit()، إلا إذا كنت تعمل باستخدام كود يقوم بمعالجته. يُمكنك الإطلاع الآن على كيفية تثبيت Python على هاتف Android باستخدام Termux.

DzTech

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