3 manieren om een programma in Python te beëindigen
Snelle koppelingen
⭐ quit() of exit() gebruiken
⭐ sys.exit() gebruiken
⭐ os._exit() gebruiken
⭐ Welke methode moet je gebruiken om een programma in Python te beëindigen?
Een softwaretoepassing vakkundig beëindigen is belangrijk in verschillende situaties. Als voorbeeld, als je bedenkt dat je een elementair videospel ontwerpt, is het mogelijk om het programma te beëindigen op basis van bepaalde gebruikersinput of na het realiseren van een vooraf gedefinieerde vereiste. Verdiep je in de verschillen tussen de drie methoden om een Python-script te beëindigen.
quit() of exit() gebruiken
Men kan een Python script afsluiten door gebruik te maken van een van de inherente functies, namelijk “quit()” of “exit()”. Wanneer een van deze commando’s wordt aangeroepen, stopt het programma met de uitvoering.
Zowel de quit()
en exit()
functies dienen identieke doelen; het gebruik van een van beide is vooral een kwestie van individuele keuze gebaseerd op persoonlijke voorkeur in plaats van een significant verschil in functionaliteit.
“Om een Python script te beëindigen, kan men de functie quit() gebruiken.
for num in range(10):
if num == 9:
quit()
print(num)
De gegeven code itereert door getallen van 0 tot 8 en geeft ze opeenvolgend weer in de console. Bij het tegenkomen van een waarde van 9 beëindigt het programma zijn bewerking. Daarnaast kan de functie quit()
gebruikt worden om de uitvoering van de Python Integrated Development and Learning Environment (IDLE) te stoppen. Dit platform stelt gebruikers in staat om Python-scripts interactief uit te voeren en biedt de mogelijkheid om praktische programmeerervaring op te doen.
Er moet opgemerkt worden dat zowel quit()
als exit()
afhankelijk zijn van de functionaliteit van de site
module, en dus mogelijk niet geschikt zijn voor gebruik in productieomgevingen. In plaats daarvan wordt de alternatieve aanpak van sys.exit()
over het algemeen geschikter geacht in dergelijke contexten.
sys.exit()
gebruiken Wanneer de functie sys.exit()
in een Python-script wordt gebruikt, wordt een voorbeeld van de uitzondering SystemExit
opgeworpen. Deze uitzondering ondersteunt een optionele parameter die de exitcode bepaalt, met een standaardwaarde van 0. Daarnaast kan een object worden doorgegeven, dat bij uitvoering een exitcode van 1 oplevert en de tekenreeksrepresentatie van het object op de standaard error-stream weergeeft.
import sys # Remember to include this statement at the top of the module
for num in range(10):
if num == 5:
sys.exit("You exited the program")
print(num)
De resulterende uitvoer van het programma heeft het volgende formaat:
Vergelijkbaar met de functionaliteit van de quit
en exit
methodes in Python’s ingebouwde sys
module, is de sys.exit()
methode nog een andere manier om een Python script netjes te beëindigen. Net als zijn tegenhangers leidt het aanroepen van deze methode tot het oproepen van een SystemExit
uitzondering. Het opmerkelijke verschil ligt hier in het feit dat het aanroepen van sys.exit()
of raise SystemExit()
beide een optioneel argument accepteren voor het verstrekken van aanvullende informatie, indien nodig.
Om een volledig begrip te krijgen van de functionaliteit van de geleverde code, is het aan te raden om bekend te raken met de fundamentele Python-functies die in het script worden gebruikt.
os._exit() gebruiken
De derde manier om een programma te verlaten is door gebruik te maken van de speciale os._exit()
methode, waarmee je een optionele parameter kunt opgeven die een exit-statuscode specificeert. Deze methode bevindt zich in de module os
en beëindigt het proces onmiddellijk zonder de gebruikelijke opruimtaken uit te voeren die typisch geassocieerd worden met de beëindiging van een Python-programma.
Omdat deze functie afsluit zonder een normale schoonmaak uit te voeren, zou je deze alleen in speciale gevallen moeten gebruiken. Volgens de Python documentatie is een goed voorbeeld een child proces na een fork (een nieuw proces aangemaakt met os.fork() ).
import os
import sys
def child_process():
print("Child process is running.")
os._exit(0)
def main():
print("Parent process is running.")
try:
pid = os.fork()
if pid == 0:
# Code in the child process
child_process()
else:
# Code in the parent process
print(f"Parent process is continuing with child process PID: {pid}")
except OSError as e:
print(f"Fork failed: {e}")
sys.exit(1)
print("Parent process is done.")
if __name__ == "__main__":
main()
De bovenstaande code geeft het volgende weer:
Welke methode moet je gebruiken om een programma in Python te beëindigen?
Python biedt verschillende methoden om een programma te beëindigen, hoewel veel daarvan uiteindelijk resulteren in het stoppen van de uitvoering van het programma. Deze alternatieven kunnen de cognitieve belasting verlichten die gepaard gaat met het kiezen van een geschikte methode voor het beëindigen van een programma tijdens het ontwikkelen van software in Python, vooral tijdens de eerste stadia van het leren van de taal.
Concluderend wordt aanbevolen om bij het beëindigen van een Python-programma de functie sys.exit()
te gebruiken, omdat deze effectief een SystemExit
uitzondering genereert, samen met een optionele exitcode voor naadloze beëindiging van de werking van de software.
Het gebruik van de methodes quit()
en exit()
wordt aanbevolen tijdens de interactie met de Python Read-Eval-Print Loop (REPL). Het wordt echter afgeraden om deze methoden in een productieomgeving te gebruiken omdat ze afhankelijk zijn van de site
module, waarvan de beschikbaarheid niet altijd gegarandeerd kan worden. Verder is het gebruik van de methode os._exit()
een weinig voorkomende praktijk, behalve als het gaat om code die nieuwe processen spawnt.