Python išėjimo komandos: quit(), exit(), sys.exit() ir os._exit()
Funkcijos quit(), exit(), sys.exit() ir os._exit() turi beveik tas pačias funkcijas, nes iškelia SystemExit išimtį, pagal kurią Python interpretatorius išeina ir dėklo sekimas nespausdinamas. Galime sugauti išimtį perimti ankstyvus išėjimus ir atlikti valymo darbus; jei nepagautas, vertėjas išeina kaip įprasta. Šiame straipsnyje pamatysime, kaip išeiti iš Python programa.
Kas yra Python išėjimo komandos?
Išėjimo komandos Python reiškia metodus arba sakinius, naudojamus nutraukti Python programos vykdymą arba išeiti iš Python interpretatoriaus. Dažniausiai naudojamos išėjimo komandos apima ` sys.exit() `, ` išeiti () ', ir ' išeiti () `. Šios komandos sustabdo programą arba vertėją, todėl vartotojas gali maloniai nutraukti vykdymą. yra keletas Python komandų išeiti čia mes aptariame šias komandas trumpai komandos yra šios
- quit () Python
- exit () Python
- sys.exit() naudojant Python
- os._exit() Python
Pastaba : Interaktyviuoju režimu (terminale veikia Python), paprastai galite išeiti įvesdami
exit()>arbaquit()>be skliaustų.
Python Exit komanda naudojant quit() funkciją
The išeiti () funkcija veikia kaip išėjimo komanda Python, jei tik importuojamas svetainės modulis, todėl jis neturėtų būti naudojamas gamybos kode. Gamybos kodas reiškia, kad kodą naudoja tikslinė auditorija realioje situacijoje. Ši funkcija turėtų būti naudojama tik vertėjuje. Tai iškelia SystemExit išimtį užkulisiuose. Jei jį atspausdinsite, jis pateiks pranešimą ir užbaigs programą Python.
Pavyzdys: Pateiktame kode, kada i> yra lygus 5, spausdinama mesti ir bando išeiti iš Python interpretatoriaus naudodamas quit()> funkcija. Jeigu i> nėra lygus 5, spausdinama reikšmė i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)> |
Išvestis:
0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit
Python Exit Command naudojant exit() funkcija
Išėjimas () Python apibrėžiamas kaip išėjimo komandos python, jei yra site.py, ir jis veikia tik tuo atveju, jei svetainės modulis yra importuotas, todėl jis turėtų būti naudojamas tik interpretatoriuje. Tai tarsi quit() sinonimas, kad Python būtų patogesnis vartotojui. Jis taip pat pateikia pranešimą, kai atspausdinamas, ir nutraukia programą Python.
Pavyzdys : Pateiktame kode, kada i> yra lygus 5, spausdinama išeiti ir bando išeiti iš Python interpretatoriaus naudodamas exit()> funkcija. Jeigu i> nėra lygus 5, spausdinama reikšmė i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)> |
Išvestis:
0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit
sys.exit([arg]) naudodami Python
Skirtingai nuo quit() ir exit(), sys.exit() laikoma išėjimo komandomis python, jei visada galima naudoti sys modulio gamybos kode. Neprivalomas argumentas arg gali būti sveikasis skaičius, nurodantis išėjimą arba kito tipo objektą. Jei tai yra sveikasis skaičius, nulis laikomas sėkmingu nutraukimu.
Pastaba: Eilutę taip pat galima perduoti sys.exit() metodui.
Pavyzdys: Pateiktame kode sys.exit('Age less than 18')> eilutė užbaigs Python scenarijų pranešimu Amžius jaunesnis nei 18 metų jei kintamasis age> yra mažesnis nei 18. Jei age> yra 18 ar daugiau, bus spausdinama Amžius ne mažesnis kaip 18 metų. Šis kodas naudojamas norint išeiti iš scenarijaus su konkrečiu pranešimu, kai įvykdoma tam tikra sąlyga. Ir tai sustabdo programą Python.
Python3
import> sys> age> => 17> if> age <> 18> :> > sys.exit(> 'Age less than 18'> )> else> :> > print> (> 'Age is not less than 18'> )> |
Išvestis:
An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18
os._exit(n) Python
The os._exit() Metodas Python naudojamas norint išeiti iš proceso su nurodyta būsena, neiškviečiant valymo tvarkyklių, neišplaunant stdio buferių ir pan.
Pastaba: Šis metodas paprastai naudojamas antriniame procese po os.fork() sistemos iškvietimo. Standartinis būdas išeiti iš proceso yra sys.exit(n) metodas.
Pavyzdys : Šiame pavyzdyje toliau pateiktas Python kodas sukuria tėvų ir vaikų proceso ryšį naudojant os.fork()> . Pirminis procesas laukia, kol baigsis antrinis procesas, ir nuskaito savo išėjimo kodą, o antrinis procesas išspausdina pranešimą ir išeina su sėkmingos būsenos 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)> |
Išvestis:
In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0
Išvada
Iš pirmiau minėtų keturių išėjimo funkcijų sys.exit() dažniausiai teikiama dėl to, kad funkcijos exit() ir quit() negali būti naudojamos gamybos kode, o os._exit() skirta ypatingais atvejais, kai reikia nedelsiant išeiti.