Команди виходу Python: quit(), exit(), sys.exit() і os._exit()
Функції quit(), exit(), sys.exit() і os._exit() мають майже таку саму функціональність, оскільки вони викликають виняток SystemExit, через який інтерпретатор Python завершує роботу, а стек не друкується. Ми можемо зловити виняток, щоб перехопити ранні виходи та виконати дії з очищення; якщо він не перехоплений, інтерпретатор завершує роботу як зазвичай. У цій статті ми побачимо, як вийти з Python програма.
Що таке команди виходу Python?
Команди виходу в Python стосуються методів або операторів, які використовуються для завершення виконання програми Python або виходу з інтерпретатора Python. Зазвичай використовувані команди виходу включають ` sys.exit() `, ` вихід() ` і ` кинути() `. Ці команди зупиняють програму або інтерпретатор, дозволяючи користувачеві витончено завершити виконання. у Python є кілька команд для виходу, тут ми коротко обговорюємо ці команди.
- quit() у Python
- exit() у Python
- sys.exit() за допомогою Python
- os._exit() в Python
Примітка : В інтерактивному режимі (запуск Python у терміналі) зазвичай можна вийти, ввівши
exit()>абоquit()>без дужок.
Команда виходу Python за допомогою функції quit().
The кинути() функція працює як команда виходу в Python, лише якщо імпортовано модуль сайту, тому його не слід використовувати у робочому коді. Виробничий код означає, що код використовується цільовою аудиторією в реальній ситуації. Цю функцію слід використовувати лише в інтерпретаторі. Він створює виняткову ситуацію SystemExit за кадром. Якщо ви надрукуєте його, він видасть повідомлення та завершить програму на Python.
приклад: У наданому коді коли i> дорівнює 5, він друкує кинути і намагається вийти з інтерпретатора Python за допомогою quit()> функція. Якщо i> не дорівнює 5, він друкує значення i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (quit)> > quit()> > print> (i)> |
Вихід:
0 1 2 3 4 Use quit() or Ctrl-D (i.e. EOF) to exit
Використання команди виходу Python Функція exit().
Exit() у Python визначається як команди виходу в python у site.py, і він працює, лише якщо імпортовано модуль сайту, тому його слід використовувати лише в інтерпретаторі. Це як синонім для quit(), щоб зробити Python більш зручним для користувача. Він також видає повідомлення під час друку та завершує програму на Python.
приклад : у наданому коді, коли i> дорівнює 5, він друкує вихід і намагається вийти з інтерпретатора Python за допомогою exit()> функція. Якщо i> не дорівнює 5, він друкує значення i> .
Python3
for> i> in> range> (> 10> ):> > if> i> => => 5> :> > print> (exit)> > exit()> > print> (i)> |
Вихід:
0 1 2 3 4 Use exit() or Ctrl-D (i.e. EOF) to exit
sys.exit([arg]) за допомогою Python
На відміну від quit() і exit(), sys.exit() вважається командою виходу в Python, якщо вона завжди доступна для використання у робочому коді для модуля sys. Необов’язковий аргумент arg може бути цілим числом, що дає вихід або інший тип об’єкта. Якщо це ціле число, нуль вважається успішним завершенням.
Примітка: Рядок також можна передати в метод sys.exit().
приклад: У наведеному коді sys.exit('Age less than 18')> рядок завершить сценарій Python повідомленням Вік менше 18 років якщо змінна age> менше 18. Якщо age> 18 або більше, він буде надруковано Вік не менше 18 років. Цей код використовується для виходу зі сценарію з певним повідомленням, коли виконується певна умова. І він зупиняє програму на Python.
Python3
import> sys> age> => 17> if> age <> 18> :> > sys.exit(> 'Age less than 18'> )> else> :> > print> (> 'Age is not less than 18'> )> |
Вихід:
An exception has occurred, use %tb to see the full traceback. SystemExit: Age less than 18
os._exit(n) у Python
The os._exit() метод у Python використовується для виходу з процесу з указаним статусом без виклику обробників очищення, очищення буферів stdio тощо.
Примітка: Цей метод зазвичай використовується в дочірньому процесі після системного виклику os.fork(). Стандартним способом виходу з процесу є метод sys.exit(n).
приклад : У цьому прикладі наведений нижче код Python створює зв’язок батьківсько-начірнього процесу за допомогою os.fork()> . Батьківський процес чекає завершення дочірнього процесу та отримує свій код виходу, тоді як дочірній процес друкує повідомлення та завершує роботу з кодом статусу успіху.
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)> |
Вихід:
In child process Process ID: 25491 Hello ! Geeks Child exiting.. In parent process Child's exit code: 0
Висновок
Серед наведених вище чотирьох функцій виходу перевага віддається sys.exit() здебільшого тому, що функції exit() і quit() не можна використовувати у робочому коді, тоді як os._exit() призначена лише для особливих випадків, коли потрібен негайний вихід.