[Tutor PyCZ] spousteni externich programu a vstupu a vystupy

Pavel Kosina geon na post.cz
Úterý Říjen 10 17:55:03 CEST 2006


Karel Srot napsal(a):
> Zdravim vsechny,
> mam nasledujici dotaz. zkousel jsem najit odpoved v nejake dokumentaci 
> ci prikladech, ale jsem z toho tulpachovej.
>
> Problem je v tom, ze ten program ne vzdy da vystup. Takze ja mu muzu 
> poslat data a on nemusi vubec odpoved. Upravit tento program nelze, 
> proste to tak funguje. Jak zjistim, ze program neco poslal na vystup? 
> Nelze pouzit readline ci read, protoze to zpusobi cekani na konec 
> radku/souboru. 
Myslím, že leda přes vlákna. Nenašel jsem žádný parametr ani funkci v 
popen2, která by to uměla.
> Dalsi dotaz je podobny. Kdybych presmeroval vystup externiho programu do 
> souboru a v pythonu pak z toho souboru cetl, tak fungovalo by to? Tedy 
> ja bych programu neco poslal, on by to vypsal do souboru a ja bych ten 
> soubor prubezne cetl? Resp. jak bych ho mel cist?
>   
Jen srhnu co již tady někdo říkal - nepřesměrovávej to souboru, ale do 
file-like objektu, tedy StringIO. Ten se pak průběžné dá číst a to sco 
přečteš, můžeš někam jinam zapsat ....

Asi by to šlo i do souboru, musel bys ho pořád oetvírat a zavírat, aby 
byly vidět změny. flush() si nejsem jistý, že by stačilo.
> Diky za odpoved, snad jsem to napsal srozumitelne.
>
>   
Já to chápu ;-)

-- 
geon
Pavel Kosina



Další informace o konferenci Tutor