[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