Python exit-kommandoer: quit(), exit(), sys.exit() og os._exit()
Funksjonene quit(), exit(), sys.exit() og os._exit() har nesten samme funksjonalitet som de øker SystemExit-unntaket der Python-tolken avslutter og ingen stack-sporing skrives ut. Vi kan fange unntaket for å avskjære tidlige utganger og utføre oppryddingsaktiviteter; Hvis den ikke blir tatt, går tolken ut som vanlig. I denne artikkelen vil vi se hvordan du avslutter Python program.
Hva er Python Exit-kommandoer?
Exit-kommandoer i Python refererer til metoder eller setninger som brukes til å avslutte kjøringen av et Python-program eller avslutte Python-tolken. De vanligste exit-kommandoene inkluderer ` sys.exit() `, ` exit() `, og ` slutte() `. Disse kommandoene stopper programmet eller tolken, slik at brukeren kan avslutte utførelsen på en elegant måte. det er noen kommandoer i Python for å avslutte her vi diskuterer disse kommandoene i korte trekk kommandoene er følgende
- quit() i Python
- exit() i Python
- sys.exit() ved å bruke Python
- os._exit() i Python
Merk : I interaktiv modus (kjører Python i terminalen), kan du vanligvis avslutte ved å skrive
exit()>ellerquit()>uten parentes.
Python Exit-kommando ved å bruke quit()-funksjonen
De slutte() funksjonen fungerer som en exit-kommando i Python hvis bare områdemodulen er importert, så den skal ikke brukes i produksjonskoden. Produksjonskode betyr at koden brukes av den tiltenkte målgruppen i en virkelig situasjon. Denne funksjonen skal kun brukes i tolken. Det reiser SystemExit-unntaket bak kulissene. Hvis du skriver det ut, vil det gi en melding og avslutte et program i Python.
Eksempel: I den angitte koden, når i> er lik 5, skrives det ut slutte og forsøker å gå ut av Python-tolken ved å bruke quit()> funksjon. Hvis i> er ikke lik 5, den skriver ut verdien av i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)> |
Produksjon:
0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit
Python Exit Command ved hjelp av exit() funksjon
Exit() i Python er definert som exit-kommandoer i python if i site.py, og den fungerer bare hvis sitemodulen er importert, så den bør kun brukes i tolken. Det er som et synonym for quit() for å gjøre Python mer brukervennlig. Den gir også en melding når den skrives ut og avslutter et program i Python.
Eksempel : I den angitte koden, når i> er lik 5, skrives det ut exit og forsøker å gå ut av Python-tolken ved å bruke exit()> funksjon. Hvis i> er ikke lik 5, den skriver ut verdien av i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)> |
Produksjon:
0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit
sys.exit([arg]) ved å bruke Python
I motsetning til quit() og exit(), betraktes sys.exit() som exit-kommandoer i python hvis god til å brukes i produksjonskoden for sys-modulen alltid er tilgjengelig. Det valgfrie argumentet arg kan være et heltall som gir utgangen eller en annen type objekt. Hvis det er et heltall, null anses som vellykket avslutning.
Merk: En streng kan også sendes til sys.exit()-metoden.
Eksempel: I den gitte koden er sys.exit('Age less than 18')> linje vil avslutte Python-skriptet med en melding Alder under 18 hvis variabelen age> er mindre enn 18. Hvis age> er 18 eller høyere, vil den skrives ut Alder er ikke mindre enn 18. Denne koden brukes til å avslutte skriptet med en spesifikk melding når en viss betingelse er oppfylt. Og det stopper et program i Python.
Python3
import> sys> age> => 17> if> age <> 18> :> > sys.exit(> 'Age less than 18'> )> else> :> > print> (> 'Age is not less than 18'> )> |
Produksjon:
An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18
os._exit(n) i Python
De os._exit() metoden i Python brukes til å avslutte prosessen med spesifisert status uten å kalle oppryddingsbehandlere, tømme stdio-buffere, etc.
Merk: Denne metoden brukes vanligvis i underordnet prosess etter os.fork() systemkall. Standardmåten for å avslutte prosessen er sys.exit(n)-metoden.
Eksempel : I dette eksemplet oppretter Python-koden nedenfor en foreldre-barn-prosessrelasjon ved å bruke os.fork()> . Den overordnede prosessen venter på at den underordnede prosessen er ferdig og henter utgangskoden, mens den underordnede prosessen skriver ut en melding og avslutter med en statuskode for suksess.
Python3
import> os> pid> => os.fork()> if> pid>> 0> :> > > print> (> '
In parent process'> )> > info> => os.waitpid(pid,> 0> )> > if> os.WIFEXITED(info[> 1> ]) :> > code> => os.WEXITSTATUS(info[> 1> ])> > print> (> 'Child's exit code:'> , code)> > else> :> > print> (> 'In child process'> )> > print> (> 'Process ID:'> , os.getpid())> > print> (> 'Hello ! Geeks'> )> > print> (> 'Child exiting..'> )> > > os._exit(os.EX_OK)> |
Produksjon:
In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0
Konklusjon
Blant de fire avslutningsfunksjonene ovenfor, foretrekkes sys.exit() hovedsakelig fordi funksjonene exit() og quit() ikke kan brukes i produksjonskode, mens os._exit() kun er for spesielle tilfeller når umiddelbar avslutning er nødvendig.