Příkazy pro ukončení Pythonu: quit(), exit(), sys.exit() a os._exit()
Funkce quit(), exit(), sys.exit() a os._exit() mají téměř stejnou funkcionalitu, protože vyvolávají výjimku SystemExit, při které se interpret Pythonu ukončí a nevytiskne se žádné zpětné sledování zásobníku. Můžeme zachytit výjimku, abychom zachytili předčasné odchody a provedli úklidové činnosti; pokud není zachycen, tlumočník odejde jako obvykle. V tomto článku uvidíme, jak opustit Krajta program.
Co jsou příkazy pro ukončení Pythonu?
Exit příkazy v Pythonu odkazují na metody nebo příkazy používané k ukončení provádění programu Python nebo ukončení interpretru Pythonu. Mezi běžně používané příkazy ukončení patří ` sys.exit() `,` výstup() `, a ` přestat() '. Tyto příkazy zastaví program nebo tlumočník, což uživateli umožní plynule ukončit provádění. v Pythonu jsou některé příkazy pro ukončení zde diskutujeme o těchto příkazech stručně, příkazy jsou následující
- quit() v Pythonu
- exit() v Pythonu
- sys.exit() pomocí Pythonu
- os._exit() v Pythonu
Poznámka : V interaktivním režimu (spuštění Pythonu v terminálu) můžete obvykle ukončit zadáním
exit()>neboquit()>bez závorek.
Příkaz Exit Pythonu pomocí funkce quit().
The přestat() Funkce funguje jako příkaz exit v Pythonu, pouze pokud je modul webu importován, takže by neměl být používán v produkčním kódu. Produkční kód znamená, že kód je používán zamýšleným publikem v reálné situaci. Tato funkce by se měla používat pouze v interpretu. V zákulisí vyvolává výjimku SystemExit. Pokud jej vytisknete, vydá zprávu a ukončí program v Pythonu.
Příklad: V poskytnutém kódu, kdy i> se rovná 5, vytiskne se přestat a pokusí se ukončit interpret Pythonu pomocí quit()> funkce. Li i> se nerovná 5, vypíše hodnotu i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)> |
Výstup:
0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit
Pomocí příkazu Python Exit Funkce exit().
Exit() v Pythonu je definována jako příkazy exit v pythonu, pokud je v site.py a funguje pouze v případě, že je modul webu importován, takže by měl být použit pouze v interpretu. Je to jako synonymum pro quit(), aby byl Python uživatelsky přívětivější. Také dává zprávu při tisku a ukončuje program v Pythonu.
Příklad : V poskytnutém kódu, kdy i> se rovná 5, vytiskne se výstup a pokusí se ukončit interpret Pythonu pomocí exit()> funkce. Li i> se nerovná 5, vypíše hodnotu i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)> |
Výstup:
0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit
sys.exit([arg]) pomocí Pythonu
Na rozdíl od quit() a exit() je sys.exit() v pythonu považováno za příkazy exit, pokud je vždy k dispozici dobré použití v produkčním kódu pro modul sys. Volitelný argument arg může být celé číslo udávající exit nebo jiný typ objektu. Pokud je to celé číslo, nula se považuje za úspěšné ukončení.
Poznámka: Řetězec lze také předat metodě sys.exit().
Příklad: V daném kódu je sys.exit('Age less than 18')> řádek ukončí Python skript zprávou Věk méně než 18 pokud proměnná age> je menší než 18. Pokud age> je 18 nebo vyšší, vytiskne se Věk není nižší než 18. Tento kód se používá k ukončení skriptu s konkrétní zprávou, když je splněna určitá podmínka. A zastaví 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'> )> |
Výstup:
An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18
os._exit(n) v Pythonu
The os._exit() metoda v Pythonu se používá k ukončení procesu se zadaným stavem bez volání obslužných rutin čištění, vyprázdnění vyrovnávacích pamětí stdio atd.
Poznámka: Tato metoda se normálně používá v podřízeném procesu po systémovém volání os.fork(). Standardním způsobem ukončení procesu je metoda sys.exit(n).
Příklad : V tomto příkladu níže uvedený kód Pythonu vytváří vztah nadřazeného a podřízeného procesu pomocí os.fork()> . Nadřazený proces čeká na dokončení podřízeného procesu a načte svůj výstupní kód, zatímco podřízený proces vytiskne zprávu a ukončí se se stavovým kódem úspěšně.
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ýstup:
In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0
Závěr
Mezi výše uvedenými čtyřmi výstupními funkcemi je sys.exit() upřednostňována především proto, že funkce exit() a quit() nelze použít v produkčním kódu, zatímco os._exit() je pro speciální případy pouze v případě, že je vyžadováno okamžité ukončení.