Inicie o nano como um subprocesso do python, capture a entrada

Estou tentando iniciar um editor de texto (nano) de dentro do Python, fazer com que o usuário insira o texto e capture o texto depois que eles gravarem (Control-O). Eu não trabalhei com osubprocess módulo antes, nem tubos, então eu não sei o que tentar a seguir.

Até agora eu tenho este código:

a = subprocess.Popen('nano', stdout=subprocess.PIPE, shell=True)

Ondea deve capturar a saída. Esse código, no entanto, não traz nano e, em vez disso, faz com que o terminal python se comporte de maneira estranha. As teclas para cima e para baixo (histórico) param de funcionar e a tecla backspace se torna disfuncional.

Alguém pode me indicar a direção certa para resolver esse problema? Sei que talvez precise ler sobre pipes em Python, mas a única informação que posso encontrar é apipes módulo e isso não ajuda muito.

questionAnswers(2)

yourAnswerToTheQuestion