os.system('command')
vrací 16 bitové číslo, které prvních 8 bitů zleva (lsb) hovoří o signálu použitém os k uzavření příkazu, dalších 8 bitů hovoří o návratovém kódu příkazu.
Další podrobnosti naleznete v mé odpovědi v části Jaká je návratová hodnota os.system() v Pythonu?
os.system()
vrátí (zakódovanou) hodnotu ukončení procesu. 0
znamená úspěch:
V Unixu je návratová hodnota stav ukončení procesu zakódovaný ve formátu určeném pro
wait()
. Všimněte si, že POSIX nespecifikuje význam návratové hodnoty funkce C system(), takže návratová hodnota funkce Python je závislá na systému.
Výstup, který vidíte, je zapsán do stdout
, takže vaši konzoli nebo terminál, a nevrací se volajícímu Pythonu.
Pokud jste chtěli zachytit stdout
, použijte subprocess.check_output()
místo toho:
x = subprocess.check_output(['whoami'])