Podczas rozwijania biblioteki Pythona dla Androida Debug Bridge (ADB), używam podprocesu do wykonywania poleceń adb w powłoce. Oto uproszczony przykład:Jak uzyskać kod powrotu i wynik z podprocesu w Pythonie?
import subprocess
...
def exec_adb_command(adb_command):
return = subprocess.call(adb_command)
Jeśli komenda wykonana propery exec_adb_command zwraca 0, która jest OK.
Jednak niektóre polecenia adb zwracają nie tylko "0" lub "1", ale również generują pewne wyniki, które również chcę przechwycić. urządzeń ADB na przykład:
D:\git\adb-lib\test>adb devices
List of devices attached
07eeb4bb device
Ja już próbowałem subprocess.check_output() do tego celu, i to nie wyjście, ale nie kod zwrotny ("0" lub "1") powrócić.
Idealnie chciałbym uzyskać krotkę gdzie t [0] jest kodem powrotu, t [1] jest faktycznym wynikiem.
Czy brakuje mi czegoś w module podprocesu, który już pozwala uzyskać takie wyniki?
Dzięki!
Niż k dla szerokiej odpowiedzi! –
@ViktorMalyi, nie prob, nie ma za co. –