3 moduri de a încheia un program în Python

Legături rapide

A ști cum să închei un program este important și poate fi util în diferite scenarii. De exemplu, dacă creați un joc simplu, puteți renunța la o anumită intrare de utilizator sau când este îndeplinită o anumită condiție. Descoperiți diferențele dintre cele trei moduri de a opri un program Python.

1. Folosind quit() sau exit()

Una dintre cele mai simple moduri de a termina un program Python este să utilizați oricare dintre metodele încorporate, quit() sau exit(). Când apelați fie la ieșire () fie la ieșire (), programul se va termina.

Funcțiile quit() și exit() fac exact același lucru, este doar o chestiune de preferință personală pe care o folosești.

Iată cum puteți utiliza funcția quit() pentru a încheia un program Python:

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

Exemplul de program de mai sus va tipări numere întregi de la 0 la 8 pe consolă. Odată ce numărul este 9, programul se iese. De asemenea, puteți utiliza comanda quit() pentru a ieși din Python Integrated Development and Learning Environment (IDLE), care vă permite să rulați scripturi Python în mod interactiv.

Rețineți că atât quit() cât și exit() se bazează pe modulul site-ului, așa că nu ar trebui să le utilizați în medii de producție. Următoarea metodă, sys.exit(), este o opțiune mai bună.

  Cum să creați o pânză prestabilită personalizată în Photoshop

2. Folosind sys.exit()

Când apelați sys.exit() în programul dvs., Python ridică o excepție SystemExit. Acceptă un argument opțional pentru a specifica un cod de ieșire întreg (0 în mod implicit). De asemenea, puteți trece un obiect care va avea ca rezultat un cod de ieșire de 1 și va imprima valoarea șirului obiectului la o eroare standard.

 import sys 

for num in range(10):
    if num == 5:
        sys.exit("You exited the program")
    print(num)

Rezultatul programului va fi după cum urmează:

La fel ca metodele quit și exit, sys.exit() ridică și o excepție SystemExit. Aceasta înseamnă că puteți apela sys.exit() sau puteți ridica SystemExit(). Ambele acceptă un argument opțional.

Ar trebui să aflați despre cele mai importante funcții Python dacă nu înțelegeți cum funcționează codul de mai sus.

3. Folosind os._exit()

A treia modalitate de a ieși dintr-un program este metoda specială os._exit(). Puteți să îi transmiteți un argument opțional pentru a specifica un cod de stare de ieșire. os._exit() vine din modulul os și încheie procesul imediat, fără a efectua activitățile normale de curățare care apar atunci când un program Python iese.

Deoarece această funcție se iese fără a efectua curățarea normală, ar trebui să o utilizați numai în cazuri speciale. In conformitate cu Documentație Pythonun bun exemplu este într-un proces copil după un fork (un proces nou creat folosind os.fork()).

Iată un exemplu despre cum să utilizați funcția os._exit() pentru a încheia un program:

 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:
            
            child_process()
        else:
            
            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()

Codul de mai sus va scoate următoarele:

  Top 8 instrumente de infrastructură ca cod (IaC) pentru 2023

Ce metodă ar trebui să utilizați pentru a încheia un program în Python?

Python oferă diverse metode pentru a încheia un program. Cu toate acestea, majoritatea acestor metode fac același lucru. Acest lucru ar trebui să reducă povara luării deciziilor dacă trebuie să adăugați un mecanism de ieșire la program atunci când învățați Python.

În rezumat, sys.exit() ar trebui să fie metoda de bază pentru a termina un program în Python. Se ridică o excepție SystemExit cu un cod de ieșire opțional.

Metodele quit() și exit() sunt mai potrivite atunci când se utilizează Python REPL. Ar trebui să le evitați în producție, deoarece depind de modulul site-ului, care poate să nu fie întotdeauna disponibil. Rareori ar trebui să fie nevoie să utilizați os._exit(), cu excepția cazului în care lucrați cu cod care forkează procesele.