Python izejas komandas: quit(), exit(), sys.exit() un os._exit()
Funkcijām quit(), exit(), sys.exit() un os._exit() ir gandrīz tāda pati funkcionalitāte, jo tās rada SystemExit izņēmumu, ar kuru Python tulks iziet un netiek drukāta steka izsekošana. Mēs varam pieķert izņēmumu, lai pārtvertu agrās izejas un veiktu tīrīšanas darbības; ja netiek pieķerts, tulks iziet kā parasti. Šajā rakstā mēs redzēsim, kā iziet no Python programma.
Kas ir Python izejas komandas?
Python izejas komandas attiecas uz metodēm vai priekšrakstiem, ko izmanto, lai pārtrauktu Python programmas izpildi vai izietu no Python tulka. Parasti izmantotās izejas komandas ietver ` sys.exit() `, ` Izeja() `, un ` atmest () `. Šīs komandas aptur programmu vai tulku, ļaujot lietotājam graciozi pārtraukt izpildi. Python ir dažas komandas, lai izietu šeit mēs apspriežam šīs komandas īsi komandas ir šādas
- quit() programmā Python
- iziet () programmā Python
- sys.exit(), izmantojot Python
- os._exit() programmā Python
Piezīme : interaktīvajā režīmā (terminālī palaižot Python) parasti var iziet, ierakstot
exit()>vaiquit()>bez iekavām.
Python Exit komanda, izmantojot quit() funkciju
The atmest () funkcija darbojas kā izejas komanda Python tikai tad, ja vietnes modulis ir importēts, tāpēc to nevajadzētu izmantot ražošanas kodā. Ražošanas kods nozīmē, ka kodu izmanto paredzētā auditorija reālā situācijā. Šī funkcija ir jāizmanto tikai tulkā. Tas aizkulisēs rada SystemExit izņēmumu. Ja to izdrukāsit, tas parādīs ziņojumu un beigs programmu Python.
Piemērs: Norādītajā kodā, kad i> ir vienāds ar 5, tas tiek izdrukāts atmest un mēģina iziet no Python tulka, izmantojot quit()> funkciju. Ja i> nav vienāds ar 5, tas izdrukā vērtību i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)> |
Izvade:
0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit
Python Exit Command, izmantojot iziet() funkcija
Izeja () programmā Python ir definēta kā izejas komandas python, ja vietnē site.py, un tā darbojas tikai tad, ja vietnes modulis ir importēts, tāpēc to vajadzētu izmantot tikai tulkā. Tas ir kā sinonīms vārdam quit(), lai Python būtu lietotājam draudzīgāks. Tas arī sniedz ziņojumu, kad tiek izdrukāts, un pārtrauc programmu Python.
Piemērs : Norādītajā kodā, kad i> ir vienāds ar 5, tas tiek izdrukāts Izeja un mēģina iziet no Python tulka, izmantojot exit()> funkciju. Ja i> nav vienāds ar 5, tas izdrukā vērtību i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)> |
Izvade:
0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit
sys.exit([arg]), izmantojot Python
Atšķirībā no quit() un exit(), sys.exit() tiek uzskatīts par izejas komandām programmā python, ja vienmēr ir pieejams sys moduļa ražošanas kods. Izvēles arguments arg var būt vesels skaitlis, kas dod izeju vai cita veida objektu. Ja tas ir vesels skaitlis, nulle tiek uzskatīta par veiksmīgu pārtraukšanu.
Piezīme: Virkni var nodot arī metodei sys.exit().
Piemērs: Dotajā kodā sys.exit('Age less than 18')> rinda beigs Python skriptu ar ziņojumu Vecums mazāks par 18 gadiem ja mainīgais age> ir mazāks par 18. Ja age> ir 18 vai vairāk, tas tiks izdrukāts Vecums nav mazāks par 18 gadiem. Šis kods tiek izmantots, lai izietu no skripta ar noteiktu ziņojumu, kad ir izpildīts noteikts nosacījums. Un tas aptur programmu Python.
Python3
import> sys> age> => 17> if> age <> 18> :> > sys.exit(> 'Age less than 18'> )> else> :> > print> (> 'Age is not less than 18'> )> |
Izvade:
An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18
os._exit(n) programmā Python
The os._exit() Python metode tiek izmantota, lai izietu no procesa ar norādītu statusu, neizsaucot tīrīšanas apstrādātājus, izskalojot stdio buferus utt.
Piezīme: Šo metodi parasti izmanto bērnu procesā pēc os.fork() sistēmas izsaukuma. Standarta veids, kā iziet no procesa, ir metode sys.exit(n).
Piemērs : šajā piemērā tālāk esošais Python kods izveido vecāku un bērnu procesa attiecības, izmantojot os.fork()> . Vecākprocess gaida, līdz pakārtotais process beidzas, un izgūst tā izejas kodu, savukārt pakārtotais process izdrukā ziņojumu un iziet ar veiksmīga statusa kodu.
Python3
import> os> pid> => os.fork()> if> pid>>> )> > 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)> |
Izvade:
In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0
Secinājums
No četrām iepriekš minētajām izejas funkcijām priekšroka tiek dota sys.exit() galvenokārt tāpēc, ka funkcijas exit() un quit() nevar izmantot ražošanas kodā, savukārt os._exit() ir paredzēts tikai īpašiem gadījumiem, kad ir nepieciešama tūlītēja izeja.