3 måter å avslutte et program i Python

Hurtigkoblinger

Å vite hvordan man avslutter et program er viktig og kan være nyttig i ulike scenarier. For eksempel, hvis du lager et enkelt spill, kan du avslutte på spesifikke brukerinndata eller når en bestemt betingelse er oppfylt. Oppdag forskjellene mellom de tre måtene å stoppe et Python-program på.

1. Bruk quit() eller exit()

En av de enkleste måtene å avslutte et Python-program på er å bruke en av de innebygde metodene, quit() eller exit(). Når du kaller enten quit() eller exit(), vil programmet avsluttes.

Funksjonene quit() og exit() gjør akkurat det samme, det er bare et spørsmål om personlige preferanser som du bruker.

Slik kan du bruke quit()-funksjonen for å avslutte et Python-program:

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

Eksempelprogrammet ovenfor vil skrive ut heltall fra 0 til 8 på konsollen. Når num er 9, avsluttes programmet. Du kan også bruke kommandoen quit() for å avslutte Python Integrated Development and Learning Environment (IDLE), som lar deg kjøre Python-skript interaktivt.

  Slik tømmer du buffer på iPhone

Legg merke til at både quit() og exit() er avhengige av site-modulen, så du bør ikke bruke dem i produksjonsmiljøer. Den neste metoden, sys.exit(), er et bedre alternativ.

2. Bruke sys.exit()

Når du kaller sys.exit() i programmet ditt, reiser Python et SystemExit-unntak. Den godtar et valgfritt argument for å spesifisere en heltallsutgangskode (0 som standard). Du kan også sende et objekt som vil resultere i en utgangskode på 1 og vil skrive ut objektets strengverdi til standardfeil.

 import sys 

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

Utgangen av programmet vil være som følger:

  Hastighetstest IP og datasenter fra populær vertsleverandør

I likhet med quit- og exit-metodene, reiser sys.exit() også et SystemExit-unntak. Dette betyr at du kan kalle sys.exit() eller heve SystemExit(). Begge godtar et valgfritt argument.

Du bør lære om de viktigste Python-funksjonene hvis du ikke forstår hvordan koden ovenfor fungerer.

3. Bruke os._exit()

Den tredje måten å avslutte et program på er den spesielle os._exit()-metoden. Du kan gi det et valgfritt argument for å spesifisere en utgangsstatuskode. os._exit() kommer fra os-modulen og avslutter prosessen umiddelbart uten å utføre de normale oppryddingsaktivitetene som skjer når et Python-program avsluttes.

Fordi denne funksjonen avsluttes uten å utføre normal opprydding, bør du bare bruke den i spesielle tilfeller. Ifølge Python dokumentasjonet godt eksempel er i en underordnet prosess etter en gaffel (en ny prosess opprettet ved hjelp av os.fork()).

Her er et eksempel på hvordan du bruker os._exit()-funksjonen for å avslutte et 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 ovenfor sender ut følgende:

  Ditt Gå til-verktøy for å strømlinjeforme hendelseshåndtering

Hvilken metode bør du bruke for å avslutte et program i Python?

Python tilbyr ulike metoder for å avslutte et program. Imidlertid gjør de fleste av disse metodene det samme. Dette bør redusere byrden med å ta beslutninger hvis du trenger å legge til en utgangsmekanisme til programmet når du lærer Python.

Oppsummert bør sys.exit() være din gå-til-metode for å avslutte et program i Python. Det reiser et SystemExit-unntak med en valgfri utgangskode.

Metodene quit() og exit() er mer passende når du bruker Python REPL. Du bør unngå dem i produksjonen fordi de er avhengige av nettstedsmodulen, som kanskje ikke alltid er tilgjengelig. Du skal sjelden trenge å bruke os._exit(), med mindre du jobber med kode som splitter prosesser.