[Tutor PyCZ] spousteni externich programu a vstupu a vystupy

Karel Srot karel.do.pekla.zajel na seznam.cz
Úterý Říjen 10 16:27:49 CEST 2006


Zdravim vsechny,
mam nasledujici dotaz. zkousel jsem najit odpoved v nejake dokumentaci 
ci prikladech, ale jsem z toho tulpachovej.

Mam externi program. Ten chci z pythonu spustit, posilat mu neco na 
vstup a prebirat vystup. Zatim jsem pouzil funkci popen4. Vim, ze 
vhodnejsi by bylo pouzit modul subprocess, ale v tom se moc neorientuju. 
  Navic mi jde o to, najit funkcni reseni a pochopit ho, takze klidne 
piste reseni pomoci subprocess.

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. Jak tedy provest kontrolu toho, ze muzu neco cist a pak 
to teprve nacist.

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?

Diky za odpoved, snad jsem to napsal srozumitelne.

Karel


Další informace o konferenci Tutor