Ich verwende Open3 's popen3 Methode, um einen Prozess zu starten, der in einer Konsole ähnlich funktioniert / REPL Mode, um wiederholt Eingaben zu akzeptieren und Ausgaben zurückzugeben.
>Ich bin in der Lage, den Prozess zu öffnen, Eingaben zu senden und die Ausgabe mit einem Code wie dem folgenden zu erhalten:
%Vor%Ich möchte das mehrmals hintereinander machen, ohne den Prozess erneut zu öffnen, da es sehr lange dauert, bis ich den Prozess starte.
Ich weiß, dass ich stdin schließen muss, damit stdout zurückkehren kann. Aber was ich nicht weiß, ist Wie öffne ich 'stdin' wieder, damit ich mehr Eingaben schreiben kann?
Idealerweise möchte ich so etwas tun:
%Vor% Dank pmoos Antwort konnte ich eine Lösung mit PTY
und expect
erstellen, wobei ich die Eingabeaufforderung erwarte, die der Prozess zurückgibt, wenn er für weitere Eingaben bereit ist: