[python] cteni odpovedi programu ze stdin

Karel Šrot karel.do.pekla.zajel na seznam.cz
Pondělí Květen 21 18:29:12 CEST 2007


To Jan Martinek:
Nemyslel. :-) Tebou uvadeny priklad totiz posle data pouze jednou, pote 
zavre vstup a precte cely vystup. Toto neni interaktivni komunikace.

To Jan Kundrat:
Opravdu je Vami uvadeny kod pouzitelny pro interaktivni komunikaci s 
procesem?

Chtel bych, aby se program choval jako ten kod, co jsem predtim uvedl. 
Pouze aby nebylo nutne ve funkci read() specifikovat delku dat, chci aby 
precetl vse, co je dostupne.


Jan Martinek napsal(a):
> Myslel jsi to takhle?
> 
> #!/usr/bin/python
> # -*- coding:utf-8 -*-
> import subprocess, sys
> 
> while True:
>     line = sys.stdin.readline()
>     if not line: break
>     lines = line.replace(' ', '\n')
>     process = subprocess.Popen('cat', stdin = subprocess.PIPE,
>                                       stdout = subprocess.PIPE)
>     process.stdin.write(lines)
>     process.stdin.close()
>     for line in process.stdout:
>         sys.stdout.write(line) #Vypiš na terminál
> 


Další informace o konferenci Python