Python Popen senden, um den Prozess auf stdin, empfangen auf stdout

Gebe ich eine ausführbare Datei auf der Befehl-Linie, um mein python-Skript. Ich habe einige Berechnungen durchführen und dann würde ich gerne das Ergebnis dieser Berechnungen, die über STDIN, um die ausführbare Datei. Wenn er fertig ist, hätte ich gerne die ausführbare Datei Ergebnis aus STDOUT.

ciphertext = str(hex(C1))
exe = popen([sys.argv[1]], stdout=PIPE, stdin=PIPE)
result = exe.communicate(input=ciphertext)[0]
print(result)

Wenn ich drucken result ich nichts bekommen, nicht None ist, wird eine leere Zeile. Ich bin mir sicher, dass die ausführbare Datei arbeitet mit den Daten wie ich habe wiederholt die gleiche Sache mit dem '>', auf der Kommandozeile mit dem gleichen zuvor berechnete Ergebnis.

  • Sind Sie sicher, dass Sie getestet haben, dass die ausführbare Datei funktioniert auch ohne einen Zeilenumbruch am Ende der Eingabe? ("echo" wird eine neue-Zeile "echo -n" nicht.)
  • yep, funktioniert mit newline sowie
Schreibe einen Kommentar