Codici di uscita di Python

Codici di uscita di Python
Se hai mai lavorato su un sistema UNIX, probabilmente hai familiarità con il concetto di codice di uscita. Se non lo sei, facciamo un rapido riepilogo. Un codice di uscita si riferisce a un codice di uscita specifico restituito da un comando, script o programma in caso di esecuzione. Un codice univoco viene utilizzato per indicare lo stato del processo dopo aver completato l'esecuzione. Lo stato del processo potrebbe avere successo, fallimento o altre condizioni. Pertanto, il ruolo dei codici di uscita è indicare come si è comportato il processo.

Con ciò, esploriamo i codici di uscita di Python, come funzionano e come puoi usarli nei tuoi programmi.

Codici di uscita standard Python

Python ha solo due codici standard, i.e., uno e uno zero. Il codice di uscita di 0 significa che il processo è stato eseguito ed uscito correttamente. Questo significa che non è stato riscontrato alcun errore. D'altra parte, un codice di errore di 1 indica che il processo è uscito con un errore. Diamo un'occhiata a un programma molto semplice che sta e basta la stringa “Benvenuto su Linuxhint!".

Stampa ("Benvenuti a LinuxHint!")

Come puoi immaginare, se eseguiamo il programma sopra, eseguirà correttamente.

$ python exit_codes.Py
Benvenuti in Linuxhint!

Possiamo vedere che il programma restituisce l'output desiderato. Sui sistemi UNIX, possiamo utilizzare il comando Echo seguito dalla variabile di ambiente ?. Questa variabile di ambiente consente di ottenere il codice di uscita dell'ultimo comando eseguito.

Nel nostro caso, l'ultimo comando è il programma Python:

$ echo $?
0

Si noti che il comando sopra restituisce 0. Ciò dimostra che il nostro programma Python esegue correttamente.

Hai mai personalizzato la shell e restituisce un simbolo rosso se il comando precedente fallisce? Sì, utilizza il codice di uscita per farlo.

Ora prendiamo un altro esempio:

Stampa ("Benvenuti a LinuxHint!"

Nota qualcosa di sbagliato nel programma sopra?

Nell'esempio sopra, il codice sopra manca la staffa di chiusura per la funzione di stampa. Quindi, se eseguiamo il programma sopra, fallirà e restituirà un errore.

$ python exit_codes.Py
File "/utenti/nome utente/exit_codes.Py ", linea 2
^
Sintaxerror: EOF inaspettato durante l'analisi

Qui, possiamo vedere chiaramente che il programma fallisce e restituisce un errore.

Ora controlliamo il codice di uscita.

Echo $?
1

Hai indovinato; Il comando restituisce un codice di uscita 1. Ciò dimostra che il programma precedente non è fallito miseramente.

Codici di uscita personalizzati Python - Il modulo SYS

Uno dei moduli più utili che incoraggio gli altri fanatici di Python ad imparare è il modulo SYS.

È un ottimo modulo che è la libreria standard di Python integrata ma offre funzionalità di sistema eccezionali.

Abbastanza elogi; Possiamo utilizzare una delle funzioni dal modulo SYS per creare codici di uscita personalizzati nei nostri programmi Python.

La funzione è chiamata exit () e ha sintassi come quello mostrato di seguito:

sys.uscita ([arg])

Come puoi dire, la funzione ha una sintassi relativamente semplice.

Ti consente di specificare il parametro Arg, che è facoltativo. Può essere un intero o qualsiasi oggetto supportato.

Se l'argomento fornito è un numero intero zero o nessuno, è considerato un'esecuzione riuscita. Per qualsiasi altro valore superiore allo zero, indica una terminazione anormale.

Sebbene dipenderà dal sistema, il valore del codice di uscita può variare da 0 -127.

È inoltre possibile passare una stringa che verrà visualizzata quando uscirà il programma.

Prendi il programma di esempio di seguito che restituisce un codice di uscita di 125.

dall'uscita di importazione sys
Stampa ("Ciao!")
uscita (125)
Stampa ("Benvenuti a LinuxHint")

Nel programma di esempio sopra, iniziamo importando la funzione di uscita dal modulo SYS.

Quindi utilizziamo l'istruzione di stampa per stampare un po 'di testo sullo schermo.

Per la parte importante, utilizziamo la funzione di uscita e passiamo il codice di uscita come 125.

Nota: non appena Python incontra la funzione Exit (), terminerà immediatamente il programma e restituirà il codice di uscita o il messaggio specificato.

Possiamo verificarlo eseguendo il programma come:

$ python3 exit_codes.Py
CIAO!

Possiamo vedere dall'output sopra che la seconda istruzione di stampa non esegue.

Controlliamo il codice di uscita come:

$ echo $?
125

Possiamo vedere che il codice di uscita è 125, come specificato nel nostro programma.

Considera l'esempio seguente che stampa una stringa anziché un codice di uscita.

dall'uscita di importazione sys
Stampa ("Ciao!")
uscita ("Programma terminato inaspettatamente")
Stampa ("Benvenuti a LinuxHint")

In questo caso, stiamo usando una stringa letterale come parametro Arg all'interno della funzione. Una volta eseguito il programma:

$ python3 exit_codes.Py
CIAO!

Programma terminato inaspettatamente

Possiamo vedere che il programma stampa il messaggio prima della funzione di uscita e quello nella funzione di uscita.

Riesci a indovinare qual è il codice di uscita del programma sopra? Vediamo:

$ echo $?
1

Sì, è uno. A qualsiasi interruzione anormale del programma che non fornisce i propri codici personalizzati verrà assegnato un codice di uscita di 1.

Nota: utilizzare la funzione di uscita quando è necessario interrompere immediatamente il programma.

Conclusione

E con ciò, siamo arrivati ​​alla fine del nostro tutorial. In questo articolo, abbiamo imparato come funzionano i codici di uscita Python e come creare codici di uscita personalizzati utilizzando il modulo SYS.

Codice felice e come sempre, grazie per la lettura!!