Durante lo sviluppo della libreria wrapper python per Android Debug Bridge (ADB), sto utilizzando il sottoprocessore per eseguire comandi adb nella shell. Ecco l'esempio semplificato:Come ottenere sia il codice di ritorno sia l'output dal sottoprocesso in Python?
import subprocess
...
def exec_adb_command(adb_command):
return = subprocess.call(adb_command)
Se comando eseguito propery exec_adb_command restituisce 0 che è ok.
Ma alcuni comandi adb restituiscono non solo "0" o "1" ma generano anche un output che voglio catturare anche. adb devices ad esempio:
D:\git\adb-lib\test>adb devices
List of devices attached
07eeb4bb device
ho già provato subprocess.check_output() a tale scopo, e lo fa uscita ma non il codice di ritorno ("0" o "1") di ritorno.
Idealmente vorrei ottenere una tupla dove t [0] è codice di ritorno e t [1] è uscita effettiva.
Mi manca qualcosa nel modulo di sottoprocesso che consente già di ottenere questo tipo di risultati?
Grazie!
di per la risposta ampia! –
@ViktorMalyi, no prob, prego. –