3 sätt att avsluta ett program i Python

snabblänkar

Att veta hur man avslutar ett program är viktigt och kan vara praktiskt i olika scenarier. Om du till exempel skapar ett enkelt spel kan du avsluta på specifik användarinmatning eller när ett visst villkor är uppfyllt. Upptäck skillnaderna mellan de tre sätten att stoppa ett Python-program.

1. Använd quit() eller exit()

Ett av de enklaste sätten att avsluta ett Python-program är att använda någon av de inbyggda metoderna, quit() eller exit(). När du anropar antingen quit() eller exit(), kommer programmet att avslutas.

Funktionerna quit() och exit() gör exakt samma sak, det är bara en fråga om personliga preferenser vilken du använder.

Så här kan du använda quit()-funktionen för att avsluta ett Python-program:

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

Exempelprogrammet ovan kommer att skriva ut heltal från 0 till 8 på konsolen. När num är 9 avslutas programmet. Du kan också använda kommandot quit() för att avsluta Python Integrated Development and Learning Environment (IDLE), som låter dig köra Python-skript interaktivt.

Observera att både quit() och exit() är beroende av platsmodulen så du bör inte använda dem i produktionsmiljöer. Nästa metod, sys.exit(), är ett bättre alternativ.

2. Använda sys.exit()

När du anropar sys.exit() i ditt program, höjer Python ett SystemExit-undantag. Den accepterar ett valfritt argument för att ange en heltalsutgångskod (0 som standard). Du kan också skicka ett objekt som kommer att resultera i en utgångskod på 1 och kommer att skriva ut objektets strängvärde till standardfel.

 import sys 

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

Resultatet av programmet blir som följer:

Liksom quit- och exit-metoderna, skapar sys.exit() också ett SystemExit-undantag. Det betyder att du kan anropa sys.exit() eller höja SystemExit(). Båda accepterar ett valfritt argument.

Du bör lära dig om de viktigaste Python-funktionerna om du inte förstår hur koden ovan fungerar.

3. Använda os._exit()

Det tredje sättet att avsluta ett program är den speciella os._exit()-metoden. Du kan skicka det ett valfritt argument för att ange en utgångsstatuskod. os._exit() kommer från os-modulen och avslutar processen omedelbart utan att utföra de normala rensningsaktiviteterna som inträffar när ett Python-program avslutas.

Eftersom den här funktionen avslutas utan att utföra normal rengöring bör du bara använda den i speciella fall. Enligt Python dokumentationett bra exempel är i en underordnad process efter en gaffel (en ny process skapad med os.fork()).

Här är ett exempel på hur man använder funktionen os._exit() för att avsluta ett 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()

Koden ovan kommer att mata ut följande:

Vilken metod ska du använda för att avsluta ett program i Python?

Python tillhandahåller olika metoder för att avsluta ett program. Men de flesta av dessa metoder gör samma sak. Detta bör minska bördan av beslutsfattande om du behöver lägga till en utgångsmekanism till ditt program när du lär dig Python.

Sammanfattningsvis bör sys.exit() vara din go-to-metod för att avsluta ett program i Python. Det skapar ett SystemExit-undantag med en valfri exit-kod.

Metoderna quit() och exit() är mer lämpliga när du använder Python REPL. Du bör undvika dem i produktionen eftersom de beror på platsmodulen, som kanske inte alltid är tillgänglig. Du ska sällan behöva använda os._exit(), om du inte arbetar med kod som splittrar processer.