Príkazy na ukončenie Pythonu: quit(), exit(), sys.exit() a os._exit()
Funkcie quit(), exit(), sys.exit() a os._exit() majú takmer rovnakú funkčnosť, pretože vyvolávajú výnimku SystemExit, ktorou sa ukončí tlmočník Pythonu a nevytlačí sa žiadne spätné sledovanie zásobníka. Môžeme zachytiť výnimku na zachytenie skorých odchodov a vykonanie čistiacich činností; ak nie je zachytený, tlmočník odíde ako zvyčajne. V tomto článku uvidíme, ako sa dostať z Python program.
Čo sú príkazy na ukončenie Pythonu?
Príkazy na ukončenie v Pythone odkazujú na metódy alebo príkazy používané na ukončenie vykonávania programu Python alebo ukončenie tlmočníka Pythonu. Medzi bežne používané príkazy na ukončenie patrí ` sys.exit() `, ` VÝCHOD() `, a ` skončiť () `. Tieto príkazy zastavia program alebo tlmočník, čo umožňuje užívateľovi plynule ukončiť vykonávanie. v Pythone sú nejaké príkazy na ukončenie, tu diskutujeme o týchto príkazoch stručne, príkazy sú nasledujúce
- quit() v Pythone
- exit() v Pythone
- sys.exit() pomocou Pythonu
- os._exit() v Pythone
Poznámka : V interaktívnom režime (spustený Python v termináli) môžete zvyčajne ukončiť napísaním
exit()>aleboquit()>bez zátvoriek.
Príkaz na ukončenie Pythonu pomocou funkcie quit().
The skončiť () funkcia funguje ako príkaz ukončenia v Pythone iba vtedy, ak je modul lokality importovaný, takže by sa nemal používať v produkčnom kóde. Produkčný kód znamená, že kód používa zamýšľané publikum v reálnej situácii. Táto funkcia by sa mala používať iba v prekladači. V zákulisí vyvoláva výnimku SystemExit. Ak ho vytlačíte, vydá správu a ukončí program v Pythone.
Príklad: V poskytnutom kóde, kedy i> sa rovná 5, vytlačí sa skončiť a pokúsi sa ukončiť interpret Pythonu pomocou quit()> funkciu. Ak i> sa nerovná 5, vypíše hodnotu i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)> |
Výkon:
0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit
Pomocou príkazu na ukončenie Pythonu Funkcia exit().
Exit () v Pythone je definovaný ako príkazy exit v pythone, ak je v site.py a funguje iba vtedy, ak je importovaný modul lokality, takže by sa mal použiť iba v interpretači. Je to ako synonymum pre quit(), aby bol Python užívateľsky prívetivejší. Tiež dáva správu pri tlači a ukončuje program v Pythone.
Príklad : V poskytnutom kóde, kedy i> sa rovná 5, vytlačí sa VÝCHOD a pokúsi sa ukončiť interpret Pythonu pomocou exit()> funkciu. Ak i> sa nerovná 5, vypíše hodnotu i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)> |
Výkon:
0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit
sys.exit([arg]) pomocou Pythonu
Na rozdiel od quit() a exit() sa sys.exit() v pythone považuje za príkazy ukončenia, ak je vždy k dispozícii dobré použitie v produkčnom kóde pre modul sys. Voliteľným argumentom arg môže byť celé číslo poskytujúce výstup alebo iný typ objektu. Ak je to celé číslo, nula sa považuje za úspešné ukončenie.
Poznámka: Reťazec možno odovzdať aj metóde sys.exit().
Príklad: V danom kóde je sys.exit('Age less than 18')> riadok ukončí Python skript správou Vek menej ako 18 rokov ak premenná age> je menej ako 18. Ak age> je 18 alebo viac, vytlačí sa Vek nie je nižší ako 18 rokov. Tento kód sa používa na ukončenie skriptu so špecifickou správou, keď je splnená určitá podmienka. A zastaví program v Pythone.
Python3
import> sys> age> => 17> if> age <> 18> :> > sys.exit(> 'Age less than 18'> )> else> :> > print> (> 'Age is not less than 18'> )> |
Výkon:
An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18
os._exit(n) v Pythone
The os._exit() metóda v Pythone sa používa na ukončenie procesu so špecifikovaným stavom bez volania obslužných programov čistenia, vyprázdnenia vyrovnávacích pamätí stdio atď.
Poznámka: Táto metóda sa bežne používa v podradenom procese po volaní systému os.fork(). Štandardným spôsobom ukončenia procesu je metóda sys.exit(n).
Príklad : V tomto príklade nižšie uvedený kód Pythonu vytvára vzťah medzi rodičom a potomkom pomocou os.fork()> . Rodičovský proces čaká na dokončenie podriadeného procesu a získa svoj ukončovací kód, zatiaľ čo podriadený proces vytlačí správu a ukončí sa so stavovým kódom úspešne.
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)> |
Výkon:
In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0
Záver
Spomedzi vyššie uvedených štyroch funkcií ukončenia sa sys.exit() uprednostňuje najmä preto, že funkcie exit() a quit() nemožno použiť v produkčnom kóde, zatiaľ čo os._exit() je pre špeciálne prípady len vtedy, keď je potrebný okamžitý výstup.