Ich suche nach interface mit einer interaktiven Kommandozeilen-Anwendung mit Python 3.5. Die Idee ist, dass ich den Prozess am Anfang des Python-Skripts starte und offen lasse. In einer Schleife drucke ich einen Dateipfad, gefolgt von einer Zeilenrückgabe, an stdin
, warte eine viertel Sekunde oder so während der Verarbeitung und lese von stdout
, bis es eine neue Zeile erreicht.Python-Subprozess: Druck auf stdin, lese stdout bis newline, wiederhole
Dies ist ziemlich ähnlich zu der communicate
Funktion von subprocess
, aber ich warte auf eine Zeilenrückgabe statt warten auf den Prozess zu beenden. Wer ist sich einer relativ einfachen Möglichkeit bewusst, dies zu tun?
Edit: Es wäre vorzuziehen, die Standardbibliothek zu verwenden, um dies zu tun, anstatt Bibliotheken von Drittanbietern wie pexpect
, wenn möglich.
Haben Sie sich das 'pexpect' Modul angeschaut? –
@ JonClements Ich habe es zuvor für SSH verwendet. Dafür werde ich jedoch nachsehen. Vielen Dank! –
noch ... benutz 'pexpect'. Es gibt gazillion Komplikationen, weshalb die Verwendung von Standard-Bibliothek nicht empfohlen werden kann. –