Zaključevanje skripte Python

Poznam ukaz die() v PHP, ki predčasno ustavi skripto.

Kako lahko to storim v Pythonu?

Rešitev
import sys
sys.exit()

podrobnosti iz [dokumentacije modula sys][izhod]:

sys.exit([arg])

Izhod iz Pythona. To se izvede tako, da se dvigne ukaz SystemExit izjeme, zato se čistilne akcije, določene s stavki finally izjav try se upoštevajo in je mogoče prestrezati poskus izhoda na zunanji ravni.

Neobvezni argument arg je lahko celo število, ki podaja izhodni status (privzeta vrednost je nič) ali druga vrsta predmeta. Če je to celo število, se ničla šteje za "uspešen zaključek", vsaka neničelna vrednost pa je v lupinah in podobnih programih šteje za "nenormalen zaključek". Večina sistemov zahteva, da je v razponu 0-127, in daje nedefinirane rezultate v nasprotnem primeru. Nekateri sistemi imajo konvencijo za dodeljevanje posebnih pomene določenim kodam izhoda, vendar so te kode na splošno nerazvite; programi Unix običajno uporabljajo 2 za sintakso ukazne vrstice napake in 1 za vse druge vrste napak. Če je druga vrsta predmeta je posredovan, je None enakovredno posredovanju ničle, vsak drug predmet pa je izpiše v stderr in povzroči izhodno kodo 1. Zlasti, sys.exit("neko sporočilo o napaki") je hiter način za izhod iz programa, ko pride do napake.

Ker `exit() navsezadnje "le" sproži izjemo, bo izhod le proces, če je poklican iz glavne niti in izjema ni ne bo prestregla.

Upoštevajte, da je to 'lep' način zaključka. @glyphtwistedmatrix spodaj opozarja, da če želite 'trd izhod', lahko uporabite os._exit(errorcode), čeprav je ta način do neke mere specifičen za operacijski sistem (na primer pod okni ne more sprejeti kode napake) in je vsekakor manj prijazen, saj prevajalniku ne omogoča, da bi pred smrtjo procesa opravil čiščenje.

Komentarji (7)
from sys import exit
exit()

Kot parameter lahko posredujete izhodno kodo, ki bo vrnjena operacijskemu sistemu. Privzeta vrednost je 0.

Komentarji (2)