2012-01-09 16 views
11

Ora so che non possiamo usare sys.exit(). Quindi, come posso uscire nella nuova versione di Python?Come uscire in Python 3.2?

+2

Cosa te lo fa non è possibile utilizzare 'sys.exit()'? Appare nella documentazione di Python 3.2.2: http://docs.python.org/py3k/library/sys.html#sys.exit –

+3

Questa domanda non è affatto ambigua, è una vera domanda, e può essere totalmente ragionevolmente ha risposto nella sua forma attuale ... – bfieck

risposta

16
import sys 
sys.exit() 

dettagli dalla sys module documentation:

uscita ([arg])

Uscire da Python. Questo è implementata sollevando l'eccezione SystemExit , azioni in modo di pulizia specificati dal infine clausole di provare dichiarazioni sono onorati, ed è possibile intercettare il tentativo di uscire a livello esterno. L'argomento argomento facoltativo può essere un numero intero che fornisce lo stato di uscita (predefinito a zero), o un altro tipo di oggetto. Se è un numero intero , lo zero è considerato successful termination'' and any nonzero value is considered anormale terminazione '' da shell e simili. La maggior parte dei sistemi richiede che sia nell'intervallo 0-127 e produca risultati non definiti in caso contrario. Alcuni sistemi hanno una convenzione per l'assegnazione di specifici significati a specifici codici di uscita, ma questi sono generalmente sottosviluppati, ; I programmi Unix generalmente usano 2 per gli errori di sintassi della riga di comando e 1 per tutti gli altri tipi di errori. Se viene superato un altro tipo di oggetto , n è equivalente a passare a zero e ogni altra oggetto viene stampato sys.stderr e genera un codice di uscita 1. In particolare, sys.exit ("certo errore messaggio ") è un modo rapido per uscire dal programma quando si verifica un errore.

Source

+0

Quindi questo è normale? Traceback (chiamata più recente scorso): file "C: \ Python32 \ test", la linea 5, in sys.exit() SystemExit –

+1

@KarthikSampath: Se si verifica un errore, è una buona idea di dirlo in la domanda. Si prega di aggiornare la domanda con l'esempio del codice e la piena autorizzazione. sys.exit() solleva un'eccezione SystemExit, sì. Il tuo codice probabilmente cattura quell'eccezione da qualche parte. –

+0

Ok grazie. Pensavo che sarebbe uscito dal programma come in C++. Scusa per il disturbo. –