ich eine FIFO, und sie in regelmäßigen Abständen öffnen schreibgeschützt und nicht-blockierend Modus von a.py:Wie kann man FIFO nicht blockierend lesen?
os.mkfifo(cs_cmd_fifo_file, 0777)
io = os.open(fifo, os.O_RDONLY | os.O_NONBLOCK)
buffer = os.read(io, BUFFER_SIZE)
Von b.py, die Fifo zum Schreiben öffnen:
out = open(fifo, 'w')
out.write('sth')
Dann wird a.py einen Fehler auslösen:
buffer = os.read(io, BUFFER_SIZE)
OSError: [Errno 11] Resource temporarily unavailable
Wer weiß, was los ist?
möglich Duplikat [Welche Bedingungen in einem geöffneten, nicht-blockierenden Rohr namens führen (Fifo) "nicht verfügbar" für die Reads?] (http://stackoverflow.com/questions/10021759/what-conditions-result-in-openopen-nonblocking-named-pipe-fifo-being-unavai) Diese Frage jedoch ist definitiv immer noch nützlich, da es eine einzigartige Formulierung bedeutet, dass es die erste war, die ich bei Google gefunden habe. – Seanny123
'NameError: Name 'Fifo' ist nicht definiert' könnten Sie bitte das Beispiel beheben? – n611x007