[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