Kody wyjścia Pythona

Kody wyjścia Pythona
Jeśli kiedykolwiek pracowałeś nad systemem UNIX, prawdopodobnie znasz koncepcję kodu wyjściowego. Jeśli nie, zróbmy szybkie podsumowanie. Kod wyjściowy odnosi się do konkretnego kodu wyjścia zwróconego przez polecenie, skrypt lub program po wykonaniu. Unikalny kod służy do wskazania statusu procesu po zakończeniu wykonania. Status procesu może być skuteczny, awarii lub innego stanu. Dlatego rolą kodów wyjściowych jest wskazanie, w jaki sposób zachował się proces.

Z tego powodu poznajmy kody wyjściowe Pythona, jak działają i jak możesz je używać w swoich programach.

Standardowe kody wyjścia Pythona

Python ma tylko dwa standardowe kody, i.mi., Jeden i zero. Kod wyjściowy 0 oznacza, że ​​proces został pomyślnie wykonany i opuścił. Oznacza to, że nie napotkano błędu. Z drugiej strony kod błędu 1 wskazuje, że proces wyszedł z awarii. Spójrzmy na bardzo prosty program, który po prostu drukuje ciąg „Witamy w Linuxhint!".

Drukuj („Witamy w Linuxhint!")

Jak można się domyślić, jeśli uruchomię powyższy program, będzie on pomyślnie wykonał.

$ Python Exit_codes.py
Witamy w Linuxhint!

Widzimy, że program zwraca pożądane wyjście. W systemach UNIX możemy użyć polecenia Echo, a następnie zmiennej środowiska ?. Ta zmienna środowiskowa pozwala uzyskać kod wyjściowy ostatniego wykonanego polecenia.

W naszym przypadku ostatnim poleceniem jest program Python:

$ echo $?
0

Zauważ, że powyższe polecenie zwraca 0. To pokazuje, że nasz program Python jest skutecznie wykonany.

Czy kiedykolwiek dostosowałeś swoją powłokę i zwraca czerwony symbol, jeśli poprzednie polecenie się nie powiedzie? Tak, używa do tego kodu wyjścia.

Teraz weźmy kolejny przykład:

Drukuj („Witamy w Linuxhint!"

Zwróć uwagę na coś złego z powyższym programem?

W powyższym przykładzie powyższym kodzie brakuje wspornika zamykającego dla funkcji drukowania. Stąd, jeśli uruchomimy powyższy program, zawiedzie i zwróci błąd.

$ Python Exit_codes.py
Plik "/Users/Username/exit_codes.py ", wiersz 2
^
SkładniaSerorror: nieoczekiwany EOF podczas parsowania

Tutaj wyraźnie widzimy, że program zawodzi i zwraca błąd.

Sprawdźmy teraz kod wyjściowy.

Echo $?
1

Zgadłeś; Polecenie zwraca kod wyjściowy 1. To pokazuje, że poprzedni program nie powiódł się.

Niestandardowe kody wyjścia Python - moduł SYS

Jednym z najbardziej przydatnych modułów, które zachęcam do nauki Pythona, jest moduł Sys.

Jest to świetny moduł, który jest wbudowaną standardową biblioteką Pythona, ale zapewnia wyjątkowe funkcje systemowe.

Wystarczy pochwały; Możemy użyć jednej z funkcji z modułu SYS do tworzenia niestandardowych kodów wyjściowych w naszych programach Python.

Funkcja nazywa się Exit () i ma składnię jako pokazana poniżej:

Sys.wyjście ([arg])

Jak widać, funkcja ma stosunkowo prostą składnię.

Pozwala na określenie parametru ARG, który jest opcjonalny. Może to być liczba całkowita lub dowolny obsługiwany obiekt.

Jeśli podany argument jest całkowitą zerową lub brak, jest uważany za udane wykonanie. Dla dowolnej innej wartości powyżej zeru wskazuje to nieprawidłowe zakończenie.

Chociaż będzie to zależeć od systemu, wartość kodu wyjścia może wynosić od 0-127.

Możesz także przekazać ciąg, który zostanie wyświetlony, gdy program wyjdzie.

Weź poniższy przykładowy program, który zwraca kod wyjściowy 125.

z SYS Import Exit
druk ("Cześć!")
Wyjście (125)
Drukuj („Witamy w Linuxhint”)

W powyższym przykładowym programie zaczynamy od zaimportowania funkcji wyjścia z modułu SYS.

Następnie używamy instrukcji Drukuj, aby wydrukować tekst na ekranie.

W ważnej części używamy funkcji wyjścia i przekazujemy kod wyjściowy jako 125.

Uwaga: Gdy tylko Python napotknie funkcję Exit (), natychmiast zakończy program i zwróci określony kod wyjściowy lub komunikat.

Możemy to zweryfikować, uruchamiając program jako:

$ Python3 Exit_codes.py
Cześć!

Z powyższego wyjścia widzimy, że druga instrukcja drukowania nie wykonuje.

Sprawdźmy kod wyjściowy jako:

$ echo $?
125

Widzimy, że kod wyjściowy to 125, jak określono w naszym programie.

Rozważ poniższy przykład, który drukuje ciąg zamiast kodu wyjścia.

z SYS Import Exit
druk ("Cześć!")
Exit („Program zakończony nieoczekiwanie”)
Drukuj („Witamy w Linuxhint”)

W takim przypadku używamy literału ciągu jako parametru arg wewnątrz funkcji. Po uruchomieniu programu:

$ Python3 Exit_codes.py
Cześć!

Program nieoczekiwanie zakończone

Widzimy, że program drukuje komunikat przed funkcją wyjścia i tego w funkcji wyjścia.

Czy możesz zgadnąć, jaki jest kod wyjściowy powyższego programu? Zobaczmy:

$ echo $?
1

Tak, to jeden. Wszelkie nieprawidłowe zakończenia programu, które nie dostarczają własnych kodów niestandardowych, otrzymają kod wyjściowy 1.

Uwaga: Użyj funkcji wyjścia, gdy trzeba natychmiast zakończyć program.

Wniosek

I po tym doszliśmy do końca naszego samouczka. W tym artykule dowiedzieliśmy się, jak działają kody wyjścia Pythona i jak tworzyć niestandardowe kody wyjściowe za pomocą modułu SYS.

Szczęśliwe kodowanie i jak zawsze dzięki za przeczytanie!!