Перевод статьи «How to Exit Python: A Quick Tutorial».
Заканчивая работу в Python, я зачастую просто нажимаю кнопку «Закрыть» в углу IDE, чтобы завершить работу программы, и IDE сама обрабатывает завершение работы Python. Но бывает, что мне нужно выйти из Python более программным способом, например, когда я работаю непосредственно в терминале или когда хочу, чтобы программа автоматически закрывала Python после запуска. В таких случаях для выхода следует использовать специальные встроенные функции Python.
Для завершения процессов Python в обычном коде используйте функции exit() или quit(), а в продакшен-коде — sys.exit(). В тех редких случаях, когда вам не нужно выполнять задачи очистки, можно использовать os._exit().
Вот примеры использования exit() и quit():
print("Hello World! Let's exit the program")
exit() # Используйте функцию exit() для завершения процесса в обычном коде
print("Welcome back World!") # После выхода этот код не запустится print("Hello World! Let's exit the program")
quit() # Используйте функцию quit() для завершения процесса в обычном коде
print("Welcome back World!") # После выхода этот код не запустится Выход из Python с помощью функции sys.exit():
import sys # В некоторых случаях может потребоваться импортировать модуль sys
print("Hello World! Let's exit the program")
sys.exit() # Используйте функцию sys.exit() для завершения процесса в продакшен-коде
print("Welcome back World!") # После выхода этот код не запустится Выход из Python означает процесс завершения работы интерпретатора или сеанса Python, что фактически приводит к прекращению выполнения программы Python. Обычно это включает в себя выполнение задач очистки перед завершением работы интерпретатора и самого Python. В зависимости от того, как вы выходите из Python, эти процессы очистки могут происходить автоматически, в фоновом режиме.
Есть несколько методов выхода из Python, помимо того, который предоставляет ваша IDE. Давайте их рассмотрим.
С помощью функции exit() можно поднять исключение SystemExit, которое завершает работу интерпретатора Python. Это в первую очередь полезно в интерактивной оболочке интерпретатора. Эта функция принимает необязательный аргумент — код выхода, который обычно используется для указания причины завершения работы.
exit()
или
exit(0) # Выход со статусом успеха
Функция quit() работает так же, как и функция exit().
quit()
Эти две функции были добавлены для облегчения выхода из терминала Python. Даже если вы не знаете, как выйти, вы интуитивно догадаетесь попробовать слова «exit» или «quit».
Как функция exit(), так и функция quit() полагаются на модуль site, который может быть не всегда доступен. Поэтому использовать эти методы в производственном коде неразумно.
Для выхода из Python без использования модуля site в производственном коде обычно используется функция sys.exit() из модуля sys. Модуль sys обычно доступен, но его необходимо импортировать. Эта функция также принимает опциональный аргумент — код выхода.
Подобно exit() и quit(), sys.exit() вызывает исключение SystemExit, которое завершает работу Python.
import sys # В некоторых случаях может потребоваться импортировать модуль sys sys.exit()
В дополнение к функциям exit() и quit() Python предлагает функцию os._exit() для быстрого завершения с ограниченной функциональностью. В отличие от exit() и quit(), которые вызывают исключение SystemExit, а затем выполняют несколько задач очистки, os._exit() немедленно завершает процесс Python без вызова дополнительных шагов очистки.
Эта функция полезна, когда требуется немедленное завершение. Но будьте осторожны: она обходит нормальный процесс очистки среды выполнения Python, что может вызвать проблемы в будущем. В подавляющем большинстве случаев использование exit(), quit() или sys.exit() является лучшим вариантом.
В интерпретаторе Python или терминале вы можете выйти из Python, нажав Ctrl+Z в Windows или Ctrl+D в macOS. Эти горячие клавиши сигнализируют интерпретатору, что файл завершен, и дают ему команду завершить работу Python. Как и os._exit(), этот метод не выполняет никаких задач очистки. Если вы хотите использовать этот метод, вам необходимо убедиться, что соответствующие задачи очистки явно указаны в вашем коде.
Самое важное, что нужно учитывать при выходе из программы, — это задачи очистки. Невыполнение очистки может привести к утечке памяти, потере или повреждению данных и целому ряду других проблем. Если ваша программа начинает вести себя странно, убедитесь, что вы правильно выполняете задачи очистки при выходе.
Еще одна распространенная проблема при выходе из Python — непреднамеренное завершение неправильной сессии или интерпретатора, особенно в средах с несколькими активными сессиями. Будьте осторожны при использовании сочетаний клавиш или функций выхода и следите за тем, из какой именно сессии вы выходите.
Вам может случиться работать в системе, в которой не установлен модуль site, что сделает exit() и quit() бесполезными. В этом случае обязательно используйте sys.exit(), так как модуль sys доступен всегда.
Выход из Python с помощью программных средств является важным аспектом программирования на Python. Понимая различные методы выхода из Python и их практическое применение, вы можете эффективно управлять выполнением и завершением кода Python.
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…