ПРИМЕЧАНИЕ: хотя я даю много информации об Inquirer, я почти уверен, что большая часть информации не будет применяться (просто будучи в безопасности).Что касается моего реального вопроса о проклятиях, то он внизу.
Я использую модуль Inquirer в Python 3, чтобы позволить пользователю выбрать значение из списка.Я запускаю это:
import inquirer
choice = inquirer.prompt([inquirer.List("size",message="Which size do you need?",choices=["Large", "Medium", "Small"])
И мне дают это:
[?] What size do you need?: Medium
Large
> Medium
Small
И, используя клавиши вверх и вниз, я могу изменить свой выбор и нажать Enter, чтобы выбрать, после того, каккоторая переменная "choice" содержит значение, которое я выбрал.Проблема заключается в следующем: после того, как выбор сделан, выбор все еще отображается.Я хочу удалить их, когда закончите.В настоящее время я использую Escape-коды ANSI для удаления вариантов с экрана, когда готово, где x - это число вариантов:
import sys
for i in range (x+1):
sys.stdout.write('\x1b[1A')
sys.stdout.write('\x1b[2K')
, которое оставляет напечатанный текст как:
[?] What size do you need?: Medium
Проблема в том, что коды выхода ANSI не универсальны.Я хочу использовать решение, которое работает на всех терминалах, предпочтительно curses, но curses не очень дружелюбны для новых пользователей, поэтому мне было интересно, знает ли кто-нибудь, как использовать curses для «удаления x строк выше текущей позиции».Спасибо!