[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