Рубрики
Без рубрики

Почему Python sys.exit лучше других функций выхода?

Чтобы выйти из программы, не дойдя до конца, мы можем использовать функцию python sys.exit. Другие способы-это использование exit(), quit() и os._exit().

Автор оригинала: Team Python Pool.

Почему Python sys.exit лучше других функций выхода?

Есть много случаев, когда мы хотим выйти из программ после выполнения определенного кода, даже не достигнув конца программы. В python есть много способов выхода из программы, которые, если вы хотите знать, вы можете нажать на эту ссылку. Несмотря на то, что существует так много способов, программисты/разработчики python обычно предпочитают использовать sys.exit в реальном мире.

Sys.exit обычно используется в программах для создания исключения SystemExit. За этим исключением программа закрывается с соответствующим кодом, переданным в аргумент.

Когда вызывается sys.exit, он вызывает исключение SystemExit. В этой статье мы узнаем, как использовать sys.exit, какие аргументы мы можем передать, когда его следует использовать и многое другое.

Синтаксис sys.exit()

Всякий раз, когда мы хотим выйти из интерпретатора явно, это означает, что всякий раз, когда мы хотим выйти из программы до того, как интерпретатор достигнет конца программы, мы можем использовать sys.exit.

Прежде чем использовать sys.exit, нам сначала нужно импортировать модуль ‘sys’ в наши системы. Для импорта используйте – ‘import sys.’

sys.exit([status]) 

Параметр sys.exit в python

sys.exit принимает только один аргумент – status, и это тоже необязательно. Если мы хотим напечатать что-то во время выхода, например, почему мы хотим выйти или что-то еще, мы можем передать это в аргументе. Это может быть либо integer, float, boolean, либо string.

Тип возврата

sys.exit возвращает Исключение SystemExit вместе с переданным аргументом.

Примечание– Если мы передаем целое число 0 в качестве аргумента, это означает, что завершение успешно, а если мы передаем любой другой аргумент, это означает, что завершение не является успешным.

Как использовать sys.exit в разных ИДЕЯХ

Выход разный в разных Идеях. За исключением строкового аргумента, вывод для любого другого типа аргумента не будет работать для Pycharm.

Но сначала давайте разберемся, как использовать sys.exit с аргументом.

Без Возражений

# Importing the sys module which contains exit function
import sys
# Runn the loop 10 times
for i in range(10):
    # Whenever we encounter '7' exit from the loop
    if:
        sys.exit()
   )
python sys.exit
python sys.exit

Выходные данные различны для разных интегрированных сред разработки(IDE).

Для блокнота Jupyter,

0 1 2 3 4 5 6

An exception has occurred, use %tb to see the full traceback. SystemExit

Для PyCharm/ХОЛОСТОГО ХОДА,

0
1
2
3
4
5
6

Теперь давайте научимся использовать аргументы.

Использование аргумента типа string

Выходные данные для аргумента типа string остаются в основном одинаковыми для всех IDE.

import sys
# Create a function that will check whether a function is eligible to vote #or not 
def is_elegible(ages):
    # Iterating through all the ages
    for age in ages:
        if age<18:
            sys.exit("The minimum age for voting is 18")


ages=[19,27,88,12]
is_elegible(ages)
SystemExit: The minimum age for voting is 18

Вы можете видеть, что все, что мы передали в аргументе, было напечатано после исключения SystemExit.

Использование аргумента целочисленного типа

Мы можем передать любое целое число, которое захотим. Это тоже может быть код состояния.

Блокнот Юпитера,

attendees=["manoj","sara","sanjay","ashwini"]
if "ashwini" in attendees:
    sys.exit(0)
SystemExit: 0

В режиме ОЖИДАНИЯ или Pycharm < a href=”https://en.wikipedia.org/wiki/Integer_(computer_science)”>integer аргумент не будет напечатан.

import sys
def call_exit():
    for i in range(1,9):
        if:
            print(sys.exit(1))
        print(i)
        
call_exit()
1
2
3
4
5
6

Использование sys.exit вместе с Try block в python

Мы знаем, что, если мы используем try-except finally blocks, все, что мы печатаем в finally block, печатается наверняка. Давайте посмотрим, верно ли это при использовании sys.exit или нет.

for i in range(10):
    try:
    # if, exit
        if:
            
            sys.exit("We have encountered 8")
            
    except Exception as e:
        print("The value of was never 8")
    # Whatever happens, this will execute
    finally:
        print(i)
0 1 2 3 4 5 6 7 8

An exception has occurred, use %tb to see the full traceback. SystemExit: We have encountered 8

Создание исключения SystemExit без использования python sys.exit

Другой способ выхода из программы путем вызова исключения SystemExit-это использование ключевого слова raise.

for i in range(10):
    if:
        raise SystemExit("Encountered 5")
    print(i)
0 1 2 3 4

An exception has occurred, use %tb to see the full traceback. SystemExit: Encountered 5

Это полностью зависит от вас, каким образом вы хотите выйти из программы. Все остальное то же самое о двух методах, за исключением того, что для sys.exit вы должны импортировать sys.

Сравнение функции sys.exit с другими функциями в python

Еще два способа – exit() и quit(). Но они не должны использоваться в производственной среде, потому что они используют модуль сайта , который установлен не везде.

Другой распространенный способ существования-это использование os._exit(). Итак, давайте посмотрим, в чем разница между ними.

метод os._exit() обычно используется для выхода из процесса с заданным статусом без вызова каких-либо обработчиков очистки, промывки буферов stdio и т. Д. Кроме того, он ничего не возвращает.

Примечание: Этот метод обычно используется в дочернем процессе после операционной системы.системный вызов вилки. Поэтому os._exit следует использовать только в некоторых специальных сценариях.

Таким образом, лучший способ выхода из программы-это sys.exit().

Надо Читать:

  • Как преобразовать строку в нижний регистр в
  • Как вычислить Квадратный корень
  • Пользовательский ввод | Функция ввода () | Ввод с клавиатуры
  • Лучшая книга для изучения Python

Вывод

Всякий раз, когда мы хотим выйти из программы, не достигнув ее конца, мы можем использовать различные программы выхода, доступные в python. Наиболее стандартной и часто используемой является функция sys.exit (). Мы также можем использовать SystemExit для выхода из программы.

Если у вас все еще есть какие-либо проблемы или запрос, сообщите нам об этом в разделе комментариев ниже.

Счастливого кодирования!