[Tutor PyCZ] spousteni externich programu a vstupu a vystupy

Karel Srot karel.do.pekla.zajel na seznam.cz
Úterý Říjen 10 17:54:46 CEST 2006


Asi jsem to nepochopil. Tim sys.stdout mohu napriklad nastavit, aby 
standardni vystup meho programu sel do souboru. Ale ja chci zpracovavat 
vystup externiho programu, ktery z programu teprve poustim. To jde takto 
take? A jak tedy nastavim vstup/vystup pro externi program?

Karel

Jiří Popek napsal(a):
> k tomu slouzi
>
> import sys
> sys.stdout
> sys.stderr
> sys.stdin
>
> temto objektum muzes priradit napr. StringIO objekt nebo nejaky soubor 
> a tvuj program ktery spoustis jej bude pouzivat jako klasicky 
> vystup/vstup. Na konci nezapomen nastavit tyto hodnoty na puvodni.
> J.
>
> On 10/10/06, *Karel Srot* <karel.do.pekla.zajel na seznam.cz 
> <mailto:karel.do.pekla.zajel na seznam.cz>> wrote:
>
>     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
>     _______________________________________________
>     Tutor mailing list
>     Tutor na py.cz <mailto:Tutor na py.cz>
>     http://www.py.cz/mailman/listinfo/tutor
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Tutor mailing list
> Tutor na py.cz
> http://www.py.cz/mailman/listinfo/tutor



Další informace o konferenci Tutor