7

我一直在使用click来制作命令行程序。现在我正在以非常文本的方式实现交互式菜单。例如:

1-option #1
2-option #2
Enter the index of the option you want to select: 

但我希望以更优雅和互动的方式来做到这一点。例如,我喜欢 Yeoman 实现其菜单的方式。这是正在运行的菜单。 在此处输入图像描述

是否有任何 python 库可以让我们构建这样的命令行菜单?我看过curses、cmd 等库。但它们似乎给了你一个完全独立的窗口来管理并且看起来有点不像pythonic。

4

1 回答 1

4

curses,或者类似的东西,真的是你想要的。

虽然curses可用于弹出带有边框的“窗口”、擦除整个窗口等,但它的基本功能是让您控制终端窗口——移动光标、突出显示文本等你正在尝试做的事情。

一些使事情变得更容易的高级库(例如urwid)确实会推动您获得更具体的外观和感觉,这可能不是您所追求的,但curses可以很容易地用于您正在尝试构建的内容。

唯一真正的问题curses是它不是无处不在。几乎所有 *nix 平台都有它,但 Windows 没有。但是答案并没有太大的不同——有curses伪造的库,或者特定于 Windows 的conio库(包括 stdlib 中的有限库, inside mscvrt)。

于 2014-08-10T10:12:21.090 回答