Python Popen enviando para processar em stdin, recebendo em stdout

Eu passo um executável na linha de comando para o meu script python. Eu faço alguns cálculos e, em seguida, gostaria de enviar o resultado desses cálculos no STDIN para o executável. Quando terminar, gostaria de recuperar o resultado do executável do STDOUT.

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

Quando imprimoresult Eu não recebo nada, nem nenhum, uma linha vazia. Tenho certeza que o executável funciona com os dados, já que eu repeti a mesma coisa usando o '>' na linha de comando com o mesmo resultado calculado anteriormente.

questionAnswers(1)

yourAnswerToTheQuestion