[Python-de] fifo mit readline() auslesen

Christian Helmbold c.helmbold at gmx.de
Sam Feb 12 17:55:26 CET 2005


Also mein vollständiges Beispiel sieht so aus (wie bereits bekannt):


#! /usr/bin/python

import os, select

fifo = "annahme"

try:
    os.mkfifo(fifo)
except:
    print "fifo konnte nicht erzeugt werden!"

ff = os.open(fifo, os.O_RDONLY)

while True:
    print "loop"
    select.select([ff], [], [])
    print os.read(ff, 1)


Wenn dieses Programm gestartet wird, passiert erst mal nichts. So soll es ja
auch sein. Wenn ich dann den Befehl
echo "test" > annahme
ausführe dreht die Schleife durch. Echo sendet ein \n mit. Auch mit readline
geht es nicht. 

Zu meinem System: verwendet wird SuSE 9.1 und Python 2.4. Unter Ubuntu Linux
4.1 mit Python 2.3.4 sieht es genauso aus.

Gruß
Christian

-- 
DSL Komplett von GMX +++ Supergünstig und stressfrei einsteigen!
AKTION "Kein Einrichtungspreis" nutzen: http://www.gmx.net/de/go/dsl