3 начина да завршите програм у Питхон-у

Брзе везе

Знати како завршити програм је важно и може бити корисно у различитим сценаријима. На пример, ако креирате једноставну игру, можете да изађете на основу одређеног корисничког уноса или када се испуни одређени услов. Откријте разлике између три начина заустављања Питхон програма.

1. Коришћење куит() или екит()

Један од најједноставнијих начина за окончање Питхон програма је коришћење било које од уграђених метода, куит() или екит(). Када позовете куит() или екит(), програм ће се прекинути.

Функције куит() и екит() раде потпуно исту ствар, само је ствар личних преференција које користите.

Ево како можете да користите функцију куит() да бисте завршили Питхон програм:

 for num in range(10):
    if num == 9:
        quit()
    print(num)

Пример програма изнад ће штампати целе бројеве од 0 до 8 на конзоли. Када је број 9, програм излази. Такође можете користити команду куит() да изађете из Питхон интегрисаног окружења за развој и учење (ИДЛЕ), које вам омогућава да интерактивно покрећете Питхон скрипте.

Имајте на уму да се и куит() и екит() ослањају на модул сајта, тако да их не бисте требали користити у производним окружењима. Следећи метод, сис.екит(), је боља опција.

2. Коришћење сис.екит()

Када позовете сис.екит() у свом програму, Питхон покреће СистемЕкит изузетак. Прихвата опциони аргумент за навођење целобројног излазног кода (0 подразумевано). Такође можете проследити објекат који ће резултирати излазним кодом од 1 и одштампати вредност стринга објекта у стандардну грешку.

 import sys 

for num in range(10):
    if num == 5:
        sys.exit("You exited the program")
    print(num)

Излаз програма ће бити следећи:

Као и методе куит и екит, сис.екит() такође покреће СистемЕкит изузетак. То значи да можете позвати сис.екит() или подићи СистемЕкит(). Оба прихватају необавезни аргумент.

Требало би да научите о најважнијим Питхон функцијама ако не разумете како функционише код изнад.

3. Коришћење ос._екит()

Трећи начин изласка из програма је посебна метода ос._екит(). Можете му проследити опциони аргумент да одредите излазни статусни код. ос._екит() долази из ос модула и одмах прекида процес без обављања нормалних активности чишћења које се дешавају када се Питхон програм затвори.

Пошто ова функција излази без нормалног чишћења, требало би да је користите само у посебним случајевима. Према Питхон документацијадобар пример је у подређеном процесу након виљушке (нови процес креиран помоћу ос.форк()).

Ево примера како да користите функцију ос._екит() за завршетак програма:

 import os
import sys

def child_process():
    print("Child process is running.")
    os._exit(0)

def main():
    print("Parent process is running.")

    try:
        pid = os.fork()

        if pid == 0:
            
            child_process()
        else:
            
            print(f"Parent process is continuing with child process PID: {pid}")
    except OSError as e:
        print(f"Fork failed: {e}")
        sys.exit(1)

    print("Parent process is done.")

if __name__ == "__main__":
    main()

Код изнад ће дати следеће:

Који метод треба да користите да бисте прекинули програм у Питхон-у?

Питхон нуди различите методе за завршетак програма. Међутим, већина ових метода ради исту ствар. Ово би требало да смањи терет доношења одлука ако треба да додате механизам за излазак свом програму када учите Питхон.

Укратко, сис.екит() би требало да буде ваш метод за завршетак програма у Питхон-у. Покреће изузетак СистемЕкит са опционим излазним кодом.

Методе куит() и екит() су прикладније када се користи Питхон РЕПЛ. Требало би да их избегавате у производњи јер зависе од модула сајта, који можда није увек доступан. Ретко ћете морати да користите ос._екит(), осим ако не радите са кодом који рачва процесе.