[Python-de] Gleichzeitige Aus- und Eingabe

SHumenda@gmx.de shumenda at gmx.de
Sa Mär 1 21:42:49 UTC 2008


Hallo Liste,

nachdem ich mich jetzt ein wenig mehr mit dem Pythonmodul Subprocess beschäftigt 
habe, habe ich dazu noch eine Frage. Ich versuche gleichzeitig Text auszugeben 
und Text entgegenzunehmen, sodass beides unabhängig läuft. Im Netz fand ich 
dazu:
client.py:

import os, sys, subprocess

proc = subprocess.Popen(
    (sys.executable, "-u", "server.py"), stdout = subprocess.PIPE, cwd = 
os.curdir,)

for line in iter(proc.stdout.readline, ""):
  print "Daten vom Server:", line,

---

server.py:
import sys, subprocess, time

def main():
  for i in range(20):
    print "Hallo %i" % i
    sys.stdout.flush()
    time.sleep(2)

if __name__ == "__main__":
  main()

Das funktioniert auch soweit, nur dass das hier zwei eigenständige 
Skripts/Programme sind, ich habe es leider nicht geschafft beides in ein Skript 
zu stecken. Lieber wäre mir natürlich eine Eingabemöglichkeit, während er im 
anderen Ssubprocess Daten zur Ausgabe ermittelt.
Kennt sich jemand damit aus?

danke
gruß
Sebastian