Come sviluppatore di Python, potresti voler ottenere il codice di ritorno di un processo per più motivi. Ad esempio, durante la gestione degli errori, è importante sapere se un sottoprocesso è stato eseguito o attivato correttamente. Inoltre, il codice restituito può essere utilizzato anche per il monitoraggio del programma o dell'esecuzione del sottoprocesso.
Questo blog coprirà:
Metodo 1: ottenere il codice di restituzione dal processo in Python usando l'attributo "Distermcode"
In Python, l'attributo "DETROTCODE" appartiene al modulo "sottoprocesso". Questo attributo contiene un valore intero che si riferisce allo stato di uscita di un sottoprocesso dopo l'esecuzione. Più specificamente, il valore "0" indica la riuscita esecuzione del sottoprocesso, mentre un valore diverso da zero indica una condizione anormale o un errore.
Sintassi
processi.DETROCODEQui, "processi"Rappresenta la funzione pertinente dell'oggetto del processo di"sottoprocesso"Modulo e il"DETROCODE"È il valore del codice di ritorno corrispondente.
Esempio
Per utilizzare il "DETROCODE"Attributo per recuperare il codice di ritorno nell'esecuzione del sottoprocessa di Python, controlla il codice fornito:
Dall'esecuzione dell'importazione del sottoprocessoSecondo il codice dato:
Qui, "0"È stato restituito, il che indica che il sottoprocesso specificato è stato eseguito correttamente.
Metodo 2: ottenere il codice di ritorno dal processo in Python usando il metodo "Communicate ()"
IL "comunicare()"Il metodo in Python consente l'interazione con un processo passando input ad esso. Questo metodo produce una tupla che comprende "std_out"(Output standard) al 0 ° indice e"stderr_data"(Stream di errore o messaggi) al primo indice. I valori di queste variabili associati verranno restituiti come "Nessuno"Se l'output standard o i messaggi di errore non sono stati acquisiti.
Sintassi
processi.comunicare (input = none, timeout = nessuno) [n]Nella sintassi data, "ingresso"È una stringa di byte passata all'input standard del processo,"tempo scaduto"È il numero di secondi per attendere il completamento del processo e"N"Si riferisce all'indice, dove"0"Output l'output standard e"1"Indica i flussi di errore.
Esempio
Ora, esegui il seguente codice Python per ottenere il codice di ritorno utilizzando il metodo comunicativo ():
Sottoprocesso di importazioneQui:
Nel nostro caso, il "Utente B'Linuxhint!\N'"È stato visualizzato come codice restituito.
Metodo 3: ottenere il codice di ritorno dal processo in Python usando il metodo "Check_output ()"
IL "check_output ()"Il metodo Python esegue un comando come sottoprocesso e salva il suo output. Questo metodo presenta l'output come oggetto di un byte.
Sintassi
sottoprocesso.check_output (args, *, stdin = nessuno, stderr = nessuno, shell = false, universal_newlines = false, timeout = nessuno, codifica = nessuno, errori = nessuno)Qui, "args"Significa i comandi che devono essere eseguiti, mentre tutti gli altri parametri sono opzionali.
Esempio
Abbiamo superato il "eco"Comando e la rispettiva stringa al check_output () come argomento. Di conseguenza, questo metodo restituirà l'output acquisito:
Process = sottoprocesso.check_output (["echo", "ciao da linuxhint!"])Produzione
Suggerimento bonus: decodifica l'output standard
Python offre anche la struttura per decodificare l'output standard restituito con "decodificare()" metodo. In questo codice, decodificheremo la stringa di byte utilizzando il "UTF-8"Schema di codifica:
Stampa (processo.decode ("UTF-8"))Produzione
Si trattava di ottenere il codice di ritorno in Python.
Conclusione
Per ottenere il codice di ritorno da un processo nell'esecuzione del sottoprocesso di Python, usa il “Attributo di returncode "," comunica () "o" check_output ()" metodo. IL "DETROCODE"Attributo restituisce"0"In caso di esecuzione riuscita e"comunicare () [0]"Output l'output standard memorizzato all'indice zero. Inoltre, il "check_output ()"Il metodo funziona anche lo stesso. Questo blog ha coperto più metodi per ottenere il codice di ritorno in Python.