如何打印到终端的选项列表可供选择?

时间:2018-04-11 08:38:47

标签: python terminal

我在python中做一个有趣的应用程序。我想要做的事情之一是通过使用箭头键向上和向下导航来打印到终端的选项列表(如果可能的话)。 例如: 嘿,请选择以下选项之一:

1-XXXXX

2-YYYYY

3-ZZZZZ

并且用户选择突出显示的那个。以及如何绑定客户选择的变量? 谢谢!

1 个答案:

答案 0 :(得分:0)

如果您不想使用“输入”并让用户输入数字,但希望他与您的应用程序进行交互,那么有一些很好的库可以做到这一点(但它需要一些代码)。

其中一个是Asciimatics(参见https://github.com/peterbrittain/asciimatics),它还提供了几个在终端中使用的小部件。您可能感兴趣的小部件是ListBox:http://asciimatics.readthedocs.io/en/stable/asciimatics.html#asciimatics.widgets.ListBox

然而,正如我所说,这需要更多的代码,而不仅仅是编写

choice = None
while choice not in [1, 2, 3]:
   try:    
      choice = int(input('1, 2 or 3? '))
   except ValueError:
      pass