Ein Python-Skript steuert eine externe Anwendung unter Linux, übergibt Eingaben über eine Pipe an die stdin der externen Anwendung und liest Ausgaben über eine Pipe von der stdout der externen Anwendung.
Das Problem besteht darin, dass Schreibvorgänge in Pipes blockweise und nicht zeilenweise gepuffert werden, so dass es zu Verzögerungen kommt, bevor das steuernde Skript Daten erhält, die z. B. von printf in der externen Anwendung ausgegeben werden.
Die externe Anwendung kann nicht geändert werden, um explizite fflush(0)-Aufrufe hinzuzufügen.
Wie kann die pty Modul der Python-Standardbibliothek mit dem Unterprozess Modul, um dies zu erreichen?