Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
07 Июл 2023
2 мин
7503

Как завершить работу скрипта в Python

Часто в процессе написания программ на Python возникает ситуация, когда необходимо ранее завершить работу скрипта. Такое может потребоваться, например,

Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.

Часто в процессе написания программ на Python возникает ситуация, когда необходимо ранее завершить работу скрипта. Такое может потребоваться, например, при обнаружении критической ошибки, которая не позволяет продолжить выполнение программы.

Рассмотрим пример. Допустим, в коде программы предусмотрена проверка наличия файла данных на диске. Если файл отсутствует, то продолжать выполнение программы не имеет смысла и требуется ее завершить.

import os

if not os.path.exists('data.txt'):
    # здесь нужно завершить работу скрипта

В Python для раннего завершения работы скрипта можно использовать функцию exit() из модуля sys. Эта функция принимает один необязательный аргумент — статус завершения, который по умолчанию равен нулю. Если вызвать функцию без аргумента или с аргументом 0, то это будет воспринято как успешное завершение работы скрипта. Любое другое значение аргумента будет воспринято как код ошибки.

Вот как можно доработать пример выше с использованием exit():

import os
import sys

if not os.path.exists('data.txt'):
    print('Файл данных не найден')
    sys.exit(1)

Теперь, если при выполнении этого скрипта файл data.txt не будет найден, то скрипт завершит свою работу, и код возврата будет равен 1. Этот код можно будет использовать для обработки ошибки в других скриптах или системных утилитах.

Важно помнить, что sys.exit() вызывает исключение SystemExit, которое можно перехватить. Если никто не перехватывает это исключение, то Python завершает работу. Если же исключение перехвачено, то функция exit() не вызывает завершение работы интерпретатора.

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Добавить комментарий