Izhodni ukazi Python: quit(), exit(), sys.exit() in os._exit()
Funkcije quit(), exit(), sys.exit() in os._exit() imajo skoraj enako funkcionalnost, saj dvignejo izjemo SystemExit, s katero se tolmač Python zapre in se ne natisne nobeno sledenje skladu. Lahko ujamemo izjemo, da prestrežemo zgodnje izhode in izvedemo dejavnosti čiščenja; če ni ujet, tolmač odide kot običajno. V tem članku bomo videli, kako izstopiti iz Python program.
Kaj so izhodni ukazi Python?
Izhodni ukazi v Pythonu se nanašajo na metode ali stavke, ki se uporabljajo za prekinitev izvajanja programa Python ali za izhod iz tolmača Python. Pogosto uporabljeni izhodni ukazi vključujejo ` sys.exit() `, ` izhod() `, in ` prenehati() `. Ti ukazi ustavijo program ali tolmač in uporabniku omogočijo elegantno prekinitev izvajanja. tukaj je nekaj ukazov v Pythonu za izhod, o teh ukazih na kratko razpravljamo, ukazi so naslednji
- quit() v Pythonu
- exit() v Pythonu
- sys.exit() z uporabo Pythona
- os._izhod() v Pythonu
Opomba : V interaktivnem načinu (izvajanje Pythona v terminalu) lahko običajno zapustite tako, da vnesete
exit()>ozquit()>brez oklepaja.
Izhodni ukaz Python z uporabo funkcije quit().
The prenehati() funkcija deluje kot izhodni ukaz v Pythonu le, če je modul mesta uvožen, zato ga ne bi smeli uporabljati v produkcijski kodi. Produkcijska koda pomeni, da kodo uporablja ciljno občinstvo v resničnem svetu. To funkcijo je treba uporabljati samo v tolmaču. V zakulisju sproži izjemo SystemExit. Če ga natisnete, bo dal sporočilo in končal program v Pythonu.
primer: V posredovani kodi, ko i> je enako 5, natisne prenehati in poskuša zapustiti tolmač Python z uporabo quit()> funkcijo. če i> ni enako 5, natisne vrednost i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)> |
Izhod:
0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit
Python Exit Command z uporabo funkcija exit().
Exit() v Pythonu je definiran kot izhodni ukaz v pythonu, če je v site.py, in deluje le, če je uvožen modul spletnega mesta, zato ga je treba uporabiti samo v tolmaču. Je kot sinonim za quit(), da naredi Python uporabniku prijaznejši. Prav tako daje sporočilo, ko je natisnjen in prekine program v Pythonu.
Primer : V navedeni kodi, ko i> je enako 5, natisne izhod in poskuša zapustiti tolmač Python z uporabo exit()> funkcijo. če i> ni enako 5, natisne vrednost i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)> |
Izhod:
0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit
sys.exit([arg]) z uporabo Pythona
Za razliko od quit() in exit() se sys.exit() obravnava kot izhodni ukaz v pythonu, če je primeren za uporabo v proizvodni kodi za modul sys vedno na voljo. Izbirni argument arg je lahko celo število, ki daje izhod ali drugo vrsto predmeta. Če je celo število, nič se šteje za uspešno prekinitev.
Opomba: Niz je mogoče posredovati tudi metodi sys.exit().
primer: V dani kodi je sys.exit('Age less than 18')> vrstica bo zaključila skript Python s sporočilom Starost manj kot 18 če je spremenljivka age> je manj kot 18. Če age> je 18 ali več, se bo natisnil Starost ni manjša od 18 let. Ta koda se uporablja za izhod iz skripta z določenim sporočilom, ko je izpolnjen določen pogoj. In ustavi program v Pythonu.
Python3
import> sys> age> => 17> if> age <> 18> :> > sys.exit(> 'Age less than 18'> )> else> :> > print> (> 'Age is not less than 18'> )> |
Izhod:
An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18
os._exit(n) v Pythonu
The os._izhod() metoda v Pythonu se uporablja za izhod iz procesa z določenim statusom brez klicanja čistilnih obdelovalcev, izpiranja medpomnilnikov stdio itd.
Opomba: Ta metoda se običajno uporablja v podrejenem procesu po sistemskem klicu os.fork(). Standardni način za izhod iz procesa je metoda sys.exit(n).
Primer : V tem primeru spodnja koda Python ustvari razmerje procesa nadrejeni otrok z uporabo os.fork()> . Nadrejeni proces počaka, da se podrejeni proces zaključi in pridobi svojo izhodno kodo, medtem ko podrejeni proces natisne sporočilo in zapusti s statusno kodo uspeha.
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)> |
Izhod:
In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0
Zaključek
Med zgornjimi štirimi izhodnimi funkcijami je sys.exit() prednostna predvsem zato, ker funkcij exit() in quit() ni mogoče uporabiti v proizvodni kodi, medtem ko je os._exit() za posebne primere le, ko je potreben takojšen izhod.