Inicie nano como un subproceso de python, capture input

Estoy tratando de iniciar un editor de texto (nano) desde Python, hacer que el usuario ingrese el texto y luego capturar el texto una vez que escribe (Control-O). No he trabajado con elsubprocess módulo anterior, ni tuberías, así que no sé qué probar a continuación.

Hasta ahora tengo este código:

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

Dóndea debería capturar la salida. Sin embargo, este código no muestra nano y, en cambio, hace que el terminal de Python se comporte de manera extraña. Las teclas arriba y abajo (historial) dejan de funcionar y la tecla de retroceso se vuelve disfuncional.

¿Alguien puede señalarme en la dirección correcta para resolver este problema? Me doy cuenta de que es posible que necesite leer sobre tuberías en Python, pero la única información que puedo encontrar es elpipes módulo y no ayuda mucho.

Respuestas a la pregunta(2)

Su respuesta a la pregunta