Jestem świadomy komendy die()
w PHP, która zatrzymuje skrypt przed czasem.
Jak mogę to zrobić w Pythonie?
import sys
sys.exit()
szczegóły z dokumentacji modułu sys
:
sys.exit([arg])
Wyjście z Pythona. Jest to realizowane przez podniesienie parametru
SystemExit
wyjątek, więc czynności porządkowe określone przez klauzule finally instrukcjitry
są honorowane, i możliwe jest przechwycenie próbę wyjścia na zewnętrznym poziomie.Opcjonalnym argumentem arg może być liczba całkowita podająca status wyjścia (domyślnie zero), lub obiektem innego typu. Jeśli jest to liczba całkowita, zero jest uważane za "pomyślne zakończenie", a każda wartość niezerowa jest uważana za "nieprawidłowe zakończenie" przez powłoki i tym podobne. Większość systemów wymaga, by była z zakresu 0-127, i daje niezdefiniowane wyniki w przeciwnym razie. Niektóre systemy mają konwencję przypisywania specyficznych znaczenia do konkretnych kodów wyjścia, ale są one ogólnie programy uniksowe generalnie używają 2 dla błędów składni wiersza poleceń błędów i 1 dla wszystkich innych rodzajów błędów. Jeśli przekazano inny typ obiektu jest przekazywany, to Brak jest równoważne przekazaniu zera, a każdy inny obiekt jest wypisywany na
stderr
i skutkuje kodem wyjścia równym 1. W szczególności,sys.exit("jakiś komunikat o błędzie")
jest szybkim sposobem na zakończenie programu, gdy wystąpi błąd.Ponieważ
exit()
ostatecznie "tylko" podnosi wyjątek, to zakończy tylko proces, gdy zostanie wywołany z głównego wątku, a wyjątek nie zostanie przechwytywany.
Zauważ, że jest to 'ładny' sposób na wyjście. @glyphtwistedmatrix poniżej wskazuje, że jeśli chcesz mieć 'twarde wyjście', możesz użyć os._exit(errorcode), choć to'jest prawdopodobnie specyficzne dla os w pewnym stopniu (może nie przyjąć errorcode pod windows, na przykład), i na pewno jest mniej przyjazne, ponieważ nie'pozwala interpreterowi zrobić żadnych porządków przed śmiercią procesu.