Python-Exit-Befehle: quit(), exit(), sys.exit() und os._exit()

Die Funktionen quit(), exit(), sys.exit() und os._exit() haben fast die gleiche Funktionalität, da sie die SystemExit-Ausnahme auslösen, durch die der Python-Interpreter beendet wird und kein Stack-Traceback ausgegeben wird. Wir können die Ausnahme abfangen, um frühe Exits abzufangen und Bereinigungsaktivitäten durchzuführen; Wenn es nicht abgefangen wird, wird der Interpreter wie gewohnt beendet. In diesem Artikel erfahren Sie, wie Sie das beenden Python Programm.

Was sind Python-Exit-Befehle?

Exit-Befehle in Python beziehen sich auf Methoden oder Anweisungen, mit denen die Ausführung eines Python-Programms beendet oder der Python-Interpreter beendet wird. Zu den häufig verwendeten Exit-Befehlen gehören „ sys.exit() `, ` Ausfahrt() `, und ` aufhören() `. Diese Befehle halten das Programm oder den Interpreter an und ermöglichen dem Benutzer, die Ausführung ordnungsgemäß zu beenden. Es gibt einige Befehle in Python zum Beenden. Hier besprechen wir diese Befehle kurz. Die Befehle sind die folgenden

  • quit() in Python
  • exit() in Python
  • sys.exit() mit Python
  • os._exit() in Python

Notiz : Im interaktiven Modus (Python im Terminal ausführen) können Sie den Vorgang normalerweise durch Eingabe beenden exit()> oder quit()> ohne Klammern.

Python-Exit-Befehl mit der Funktion quit()

Der aufhören() Die Funktion funktioniert in Python nur dann als Exit-Befehl, wenn das Site-Modul importiert wird, daher sollte sie nicht im Produktionscode verwendet werden. Produktionscode bedeutet, dass der Code von der beabsichtigten Zielgruppe in einer realen Situation verwendet wird. Diese Funktion sollte nur im Interpreter verwendet werden. Es löst im Hintergrund die SystemExit-Ausnahme aus. Wenn Sie es ausdrucken, wird eine Meldung ausgegeben und ein Programm in Python beendet.

Beispiel: Im bereitgestellten Code wann i> gleich 5 ist, wird gedruckt aufhören und versucht, den Python-Interpreter mit zu beenden quit()> Funktion. Wenn i> ungleich 5 ist, wird der Wert von ausgegeben i> .

Python3




for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)>

Ausgabe:

0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit 

Python-Exit-Befehl mit Funktion „exit()“.

Die Funktion „exit()“ in Python ist in „site.py“ als Exit-Befehl in Python definiert und funktioniert nur, wenn das Site-Modul importiert wird. Daher sollte sie nur im Interpreter verwendet werden. Es ist sozusagen ein Synonym für quit(), um Python benutzerfreundlicher zu machen. Auch beim Drucken wird eine Meldung ausgegeben und ein Programm in Python beendet.

Beispiel : Im bereitgestellten Code, wann i> gleich 5 ist, wird gedruckt Ausfahrt und versucht, den Python-Interpreter mit zu beenden exit()> Funktion. Wenn i> ungleich 5 ist, wird der Wert von ausgegeben i> .

Python3




for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)>

Ausgabe:

0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit 

sys.exit([arg]) mit Python

Im Gegensatz zu quit() und exit() wird sys.exit() in Python als Exit-Befehl betrachtet, wenn eine gute Verwendung im Produktionscode für das sys-Modul immer verfügbar ist. Das optionale Argument arg kann eine ganze Zahl sein, die den Ausgang angibt, oder ein anderer Objekttyp. Wenn es eine ganze Zahl ist, Null gilt als erfolgreiche Beendigung.
Notiz: An die Methode sys.exit() kann auch ein String übergeben werden.

Beispiel: Im angegebenen Code ist die sys.exit('Age less than 18')> Zeile beendet das Python-Skript mit einer Meldung Alter unter 18 Jahren wenn die Variable age> ist kleiner als 18. Wenn age> 18 oder höher ist, wird gedruckt Das Alter beträgt mindestens 18 Jahre. Dieser Code wird verwendet, um das Skript mit einer bestimmten Nachricht zu beenden, wenn eine bestimmte Bedingung erfüllt ist. Und es stoppt ein Programm in Python.

Python3




import> sys> age> => 17> if> age <> 18> :> > sys.exit(> 'Age less than 18'> )> else> :> > print> (> 'Age is not less than 18'> )>

Ausgabe:

An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18 

os._exit(n) in Python

Der os._exit() Die Methode in Python wird verwendet, um den Prozess mit dem angegebenen Status zu beenden, ohne Bereinigungshandler aufzurufen, Standardpuffer zu leeren usw.

Notiz: Diese Methode wird normalerweise im untergeordneten Prozess nach dem Systemaufruf os.fork() verwendet. Die Standardmethode zum Beenden des Prozesses ist die Methode sys.exit(n).

Beispiel : In diesem Beispiel erstellt der folgende Python-Code eine Eltern-Kind-Prozessbeziehung mit os.fork()> . Der übergeordnete Prozess wartet auf den Abschluss des untergeordneten Prozesses und ruft seinen Exit-Code ab, während der untergeordnete Prozess eine Nachricht ausgibt und mit dem Statuscode „Erfolgreich“ beendet wird.

Python3




import> os> pid> => os.fork()> if> pid>> 0> :> > > print> (> ' In parent process'> )> > 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)>

Ausgabe:

In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0 

Abschluss

Unter den oben genannten vier Exit-Funktionen wird sys.exit() vor allem deshalb bevorzugt, weil die Funktionen exit() und quit() nicht im Produktionscode verwendet werden können, während os._exit() nur für Sonderfälle vorgesehen ist, wenn ein sofortiger Exit erforderlich ist.