Ik ben op de hoogte van het die()
commando in PHP dat een script voortijdig stopt.
Hoe kan ik dit in Python doen?
import sys
sys.exit()
details uit de sys
module documentatie:
sys.exit([arg])
Afsluiten van Python. Dit wordt geïmplementeerd door het verhogen van de
SystemExit
exceptie, dus opruimacties gespecificeerd door finally clausules vantry
statements worden gehonoreerd, en het is mogelijk om de exit poging op een outer level.Het optionele argument arg kan een integer zijn die de exit status (standaard op nul), of een ander type object. Als het een geheel getal is, wordt nul beschouwd als "succesvolle beëindiging" en elke waarde niet nul is beschouwd als "abnormale beëindiging" door shells en dergelijke. De meeste systemen vereisen dat het in het bereik 0-127 ligt, en produceren ongedefinieerde resultaten anders. Sommige systemen hebben een conventie voor het toekennen van specifieke aan specifieke exit codes, maar deze zijn over het algemeen onderontwikkeld; Unix programma's gebruiken over het algemeen 2 voor commandoregel syntaxis fouten en 1 voor alle andere soorten fouten. Als een ander type object wordt doorgegeven, is None gelijk aan het doorgeven van nul, en elk ander object wordt afgedrukt naar
stderr
en resulteert in een exit code van 1. In het bijzonder,sys.exit("some error message")
is een snelle manier om een programma af te sluiten als een fout optreedt.Aangezien
exit()
uiteindelijk "slechts" een exception oproept, zal het alleen afsluiten het proces verlaten als het vanuit de hoofddraad wordt aangeroepen, en de uitzondering niet onderschept.
Merk op dat dit de 'nice' manier van afsluiten is. @glyphtwistedmatrix hieronder wijst erop dat als je een 'harde exit' wilt, je os._exit(errorcode) kunt gebruiken, hoewel het'waarschijnlijk os-specifiek is tot op zekere hoogte (het zou geen errorcode kunnen aannemen onder windows, bijvoorbeeld), en het is zeker minder vriendelijk omdat het de interpreter geen opruiming laat doen voordat het proces sterft.