[Tutor PyCZ] spousteni externich programu a vstupu a vystupy

Jiří Popek jiri.popek na gmail.com
Úterý Říjen 10 16:35:22 CEST 2006


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> 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
> http://www.py.cz/mailman/listinfo/tutor
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/tutor/attachments/20061010/ed847850/attachment.htm 


Další informace o konferenci Tutor