Выделение и выделение текста с помощью проклятий Python

Это мой первый пост, который переполнен. Я скрывался на этом сайте в поисках информации в течение многих лет, и он всегда помогает, поэтому я подумал, что опубликую свой первый вопрос.

Я искал несколько похожих примеров, но ничего не нашел.

В конечном итоге я пытаюсь написать простой текстовый интерфейс для поиска ложных срабатываний и ложных отрицаний в программе извлечения текста. Модуль ложных срабатываний - это простой выбор да / нет, а отображение цветного текста и использование getch () достаточно просто. Однако ложноотрицательная часть становится все труднее.

Вот что я хочу сделать:

  1. Вывести строку на экран (забудьте пока о прокрутке .... тьфу) Это будет только строка без новых строк.
  2. Пользователь видит текст и нажимает «h», чтобы войти в режим выделения.
  3. Затем пользователь может управлять курсором, перемещая его по части текста (все еще отображаемой), и выбирать 'v', чтобы начать выделение (я пытался сделать это как можно ближе к vi)
  4. Затем пользователь с помощью клавиш управления (стрелки, hjkl) перемещает курсор от начальной точки к конечной, выделяя текст по пути. Эта выделенная часть должна быть словом, которое является ложноотрицательным
  5. . Пользователь нажимает какую-то клавишу (вероятно, "y"), и выделенный текст окрашивается или остается выделенным, а выделенный текст сохраняется в некоторой переменной, которую я ' Разберусь позже.
  6. Пользователь выходит из режима выделения и продолжает работу.

Есть идеи даже НАЧАТЬ? Я пробую простые вещи, такие как сохранение текста на экране и перемещение курсора, но безуспешно.

Мне известен модуль curses.textpad.TextBox (), но он выполняет такие операции редактирования, как вставка и удаление, чего я не хочу делать. Возможно, есть способ отключить его.

У меня есть другие вопросы, но пока я оставлю их конкретными.

Спасибо !!

Нил

Редактировать: Чтобы быть более конкретным, я не ищу помощи в написании всей программы, просто помогу перемещать курсор по отображаемому тексту, выделяя его, выделяя его и сохраняя в переменной.

8
задан Neal 24 July 2011 в 17:17
поделиться