[Python-de] Zeilengepuffertes r/w

Jens Diemer python_gmane at jensdiemer.de
Di Aug 30 14:43:20 CEST 2011


Was ist mit l.flush() ?


Am 30.08.2011 13:53, schrieb Ole Streicher:
> 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
> _______________________________________________
> python-de maillist  -  python-de at python.org
> http://mail.python.org/mailman/listinfo/python-de
>


-- 

Mfg.

Jens Diemer


----
http://www.jensdiemer.de



Mehr Informationen über die Mailingliste python-de