Ich übergebe eine ausführbare Datei in der Befehlszeile zu meinem Python-Skript. Ich mache einige Berechnungen und dann möchte ich das Ergebnis dieser Berechnungen auf STDIN an die ausführbare Datei senden. Wenn es fertig ist, möchte ich das Ergebnis der ausführbaren Datei von STDOUT zurückbekommen.Python Popen senden an stdin verarbeiten, empfangen auf stdout
ciphertext = str(hex(C1))
exe = popen([sys.argv[1]], stdout=PIPE, stdin=PIPE)
result = exe.communicate(input=ciphertext)[0]
print(result)
Wenn ich result
drucke ich nichts bekommen, nicht ohne, eine leere Zeile. Ich bin mir sicher, dass die ausführbare Datei mit den Daten arbeitet, da ich das Gleiche mit dem '>' in der Befehlszeile mit dem gleichen zuvor berechneten Ergebnis wiederholt habe.
Sind Sie sicher, dass Sie, dass die ausführbare Datei auch bei der ohne Newline arbeitet getestet Ende der Eingabe? ("echo" wird einen Zeilenumbruch hinzufügen, "echo -n" wird nicht.) – svk
@svk yep, funktioniert auch mit newline –