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.pyWidzimy, ż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 $?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.pyTutaj wyraźnie widzimy, że program zawodzi i zwraca błąd.
Sprawdźmy teraz kod wyjściowy.
Echo $?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 ExitW 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.pyZ powyższego wyjścia widzimy, że druga instrukcja drukowania nie wykonuje.
Sprawdźmy kod wyjściowy jako:
$ echo $?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 ExitW takim przypadku używamy literału ciągu jako parametru arg wewnątrz funkcji. Po uruchomieniu programu:
$ Python3 Exit_codes.pyProgram 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 $?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!!