2012-08-26 144 views
3

我想在Python中创建一个“交互选择”(不确定是否正确表达了这一点,请看下面的例子),让用户按下上下键选择一个选项并返回来确认它,然后继续与剧本。在终端的一个例子输出会是这样的:如何创建交互式选择?

$ python script.py 
Please select an option. 

    [ ] Option 1 
    [ ] Option 2 
    [*] Option 3 

You have chosen: Option 3 

是第一个字符串已经打印完毕后,用户可以使用他们的箭头键选择用星号标记的选项。该脚本看起来有点像这样:

print 'Please select an option.' 
option = interactive_choice(['Option 1', 'Option 2', 'Option 3']) 
print 'You have chosen: ' + option 

任何人都知道如何做到这一点?

+0

这不是在Python中很容易做到的事情,因为控制台输出的显示方式很大程度上取决于shell /操作系统。但是,有些图书馆可以这样做。如果您使用Linux/Mac OSX,则可以使用'curses' /'ncurses'库。 –

+0

我创建的脚本将主要由Windows用户使用,所以我不能使用(n)诅咒。 – user1447941

回答

0

在Windows上,您对这些类型的东西非常有限。您可能要查找的库是wcursesPDCursesWconsio。 请注意我自己都没有使用这些库。你也可以更好地设计一个像Boa Constructor这样的IDE的GUI,看起来像一个终端,但毫无疑问,这是相当困难的。