de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 Teifion
Teifion
Question

Kończenie skryptu Pythona

Jestem świadomy komendy die() w PHP, która zatrzymuje skrypt przed czasem.

Jak mogę to zrobić w Pythonie?

973 2008-09-16T15:35:55+00:00 3
Lightness  Races with Monica
Lightness Races with Monica
Edytowane pytanie 2. kwietnia 2016 в 2:21
Programowanie
termination
python
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
 pjz
pjz
16. września 2008 в 3:36
2008-09-16T15:36:36+00:00
Więcej
Źródło
Edytuj
#8464085
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 instrukcji try 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.

 Community
Community
Edytowana odpowiedź 23. maja 2017 в 12:34
1298
0
 Vhaerun
Vhaerun
16. września 2008 в 3:37
2008-09-16T15:37:13+00:00
Więcej
Źródło
Edytuj
#8464086

Innym sposobem jest:

raise SystemExit
Jérôme Verstrynge
Jérôme Verstrynge
Edytowana odpowiedź 13. września 2011 в 8:52
116
0
 cleg
cleg
16. września 2008 в 3:38
2008-09-16T15:38:28+00:00
Więcej
Źródło
Edytuj
#8464087
from sys import exit
exit()

Jako parametr możesz przekazać kod wyjścia, który zostanie zwrócony do systemu operacyjnego. Domyślnie jest to 0.

 larsks
larsks
Edytowana odpowiedź 5. maja 2012 в 12:46
27
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Jasur Fozilov
Zarejestrowany 8 godzin temu
2
Zuxriddin Muydinov
Zarejestrowany 23 godziny temu
3
Денис Анненский
Zarejestrowany 3 dni temu
4
365
Zarejestrowany 1 tydzień temu
5
True Image
Zarejestrowany 1 tydzień temu
DA
DE
EL
ES
FI
FR
ID
IT
JA
LT
LV
NL
PL
PT
RU
SL
SV
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem