[python] Jak voval externi prikaz a ziskat jeho ouptut

Petr Messner petr.messner na gmail.com
Pátek Květen 13 12:46:38 CEST 2011


2011/5/12 Stone <phracek2 na gmail.com>:
> Zdravim vyvojare pythonu,
>

Vývojáři Pythonu jako takoví zde pokud vím nejsou. Zato je tu pár
vývojářů v Pythonu :)

> Zkousel jsem taky: output = subprocess.Popen(["ls -la /
> root"],shell=False,stdout=subprocess.PIPE)
> test = output.communicate
>
> V promenne test by mel byt vystup z ls -la /root spravne?

Jo, test bude tuple, kde prvním prvkem bude standardní výstup z toho
ls. Ale ve volání subprocess.Popen musíte ten příkaz a parametry
rozdělit, samo se to neudělá, pokud to nejde přes shell:  ["ls",
"-la", "/root"]. A taky vám tam chybí závorky za communicate, jak už
se zde psalo.

Máte s tím nějaký konkrétní problém? Nezdá se mi, že by se diskuze v
tomto vlákně dobrala k něčemu finálnímu...

PM


Další informace o konferenci Python