Python Popen l'envoi de processus sur stdin, la réception sur stdout

Je passe un exécutable sur la ligne de commande pour mon script python. Je fais quelques calculs et j'aimerais ensuite envoyer le résultat de ces calculs sur STDIN vers l'exécutable. Quand il a fini, je tiens à obtenir l'exécutable du résultat de STDOUT.

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

Quand j'ai l'impression result je ne reçois rien, pas à pas, une ligne vide. Je suis sûr que l'exécutable fonctionne avec les données que j'ai répété la même chose à l'aide de la " >' sur la ligne de commande avec le même auparavant résultat calculé.

Êtes-vous certain que vous avez testé que l'exécutable fonctionne même sans un retour chariot à la fin de l'entrée? ("echo" va ajouter une nouvelle ligne, "echo-n" aura pas.)
yep, fonctionne avec retour à la ligne ainsi

OriginalL'auteur Rupert Cobbe-Warburton | 2013-04-03