[Python-de] Zeilengepuffertes r/w

Ole Streicher ole-usenet-spam at gmx.net
Di Aug 30 13:53:22 CEST 2011


Hallo Gruppe,

wie bekomme ich eine zeilengepufferte Kommunikation zwischen zwei
Scripten hin? Ich habe folgende zwei Mini-Programme:

Sender:
----------------------8<-----------------
import time
l = open('myfifo',mode='w',buffering=1)
while True:
      s = 'einszweidrei'
      l.write(s + '\n')
      print s
      time.sleep(1)
----------------------8<-----------------

Empfänger:
----------------------8<-----------------
l = open('myfifo', buffering=1)
for line in l:
    print line
----------------------8<-----------------

wobei "myfifo" eine (per mkfifo angelegter) named pipe ist.
Lasse ich jetzt die beiden laufen, erscheinen die Ausgaben im zweiten
Programm stark verzögert, trotz des "line buffers", welches
eingeschaltet war.

Warum ist das so und wie kann ich das ändern?

Viele Grüße

Ole


Mehr Informationen über die Mailingliste python-de