Resaltar y seleccionar texto con maldiciones de Python

Esta es mi primera publicación para desbordar la pila. He estado al acecho de este sitio en busca de información durante años, y siempre es útil, así que pensé en publicar mi primera pregunta.

He estado buscando algunos ejemplos similares, pero parece que no puedo encontrar nada.

Finalmente, estoy tratando de escribir una interfaz de usuario de texto simple para encontrar falsos positivos y falsos negativos en un programa de extracción de texto. El módulo de falsos positivos es una simple selección de sí / no, y mostrar texto en color y usar getch () es bastante fácil. Sin embargo, la porción falsamente negativa se está volviendo difícil.

Así que esto es lo que quiero hacer:

Muestre una cadena en la pantalla (olvide desplazarse por ahora ... ugh) Solo será una cadena sin líneas nuevas.l usuario ve el texto y presiona 'h' para ingresar al modo resaltado. El usuario puede controlar el cursor para moverlo sobre una parte del texto (todavía se muestra) y seleccionar 'v' para comenzar a resaltar (estoy tratando de hacer esto lo más cerca posible de vi)El usuario luego usa las teclas de control (flechas, hjkl) para mover el cursor desde un punto inicial hasta un punto final, resaltando el texto en el camino. Esta parte resaltada debe ser una palabra que sea un falso negativoEl usuario presiona alguna tecla ('y' probablemente), y el texto seleccionado se colorea o permanece resaltado, y el texto resaltado se guarda en alguna variable que manejaré más adelante. El usuario sale del modo resaltado y continúa.

¿Alguna idea para empezar? Estoy intentando cosas simples como mantener el texto en la pantalla y mover el cursor, pero fue en vano.

Soy consciente del módulo curses.textpad.TextBox (), pero realiza la edición como inserción y eliminación, lo que no quiero hacer. Quizás haya una manera de deshabilitarlo.

Tengo otras preguntas, pero mantendré esto específico por ahora.

¡¡Gracias!

Neal

Editar: Para ser más específico, no estoy buscando ayuda para escribir todo el programa, solo ayuda para mover el cursor sobre el texto mostrado, resaltarlo, seleccionarlo y guardarlo en una variable.

Respuestas a la pregunta(2)

Su respuesta a la pregunta