David Michal wrote: > Zdravim, > > > > Zapasim s pouzitim os.popen. Potreboval bych vzdy pockat na dokonceni > subprocessu a pak teprve pracovat s jeho vystupem. V dokumentaci jsme > nasel ze existuji tridy Popen3 a 4 ktere maji metodu wait(). Ale v > modulu os je nemuzu najit. Jak si mam zadefinovat neco takoveho: > > > > a = os.popen('echo ahoj') > > a.wait() > > print a[1].readlines() > > > > ? > > > > Diky, > > David >
Tři z pěti pythonistů doporučují navždy zapomenout na os.system os.spawn* os.popen* popen2.* commands.* a použít raději modul subprocess, který nahrazuje (a doplňuje) všechny výše uvedené metody. Můžeš zkusit to napsat takhle: import subprocess command = ['echo', 'ahoj'] echo = subprocess.Popen(command, stdout = subprocess.PIPE) print echo.stdout.readlines() Kdybys náhodou chtěl opravdu čekat na ukončení externího programu, tak k tomu slouží metoda wait, např. echo.wait() A vůbec - napiš přesně, čeho chceš dosáhnout a jaký externí program budeš pouštět. Třeba to ani nebude třeba :-) Jan Martinek _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python