【发布时间】:2018-12-30 18:38:37
【问题描述】:
注意:尽管我在 Inquirer 上提供了很多信息,但我很确定其中大部分信息都不会适用(只是为了安全起见)。对于我关于诅咒的实际问题,它在底部。
我在 Python 3 中使用 Inquirer 模块来允许用户从列表中选择一个值。我运行这个:
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
使用向上和向下键,我可以更改我的选择,然后按回车键进行选择,然后“选择”变量包含我选择的值。问题是:一旦选择完成,选择仍然显示。我想在完成后删除它们。我目前正在使用 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行”。谢谢!
【问题讨论】:
标签: python-3.x python-module curses inquirer