我一直在与click合作制作命令行程序。现在我正在以非常文本的方式实现交互式菜单。例如:
1-option #1
2-option #2
Enter the index of the option you want to select:
但我希望以更优雅和互动的方式做到这一点。例如,我喜欢Yeoman实现其菜单的方式。这是菜单的实际应用。
是否有任何python库让我们构建这样的命令行菜单?我看过curses,cmd等库。但它们似乎给你一个独立的窗口来管理和看起来有点unpythonic。
答案 0 :(得分:3)
curses
,或类似的东西,真的是你想要的。
虽然可以使用curses
弹出带有边框的“窗口”,但是在它的底部擦除整个窗口等,它是什么让你控制终端窗口 - 移动光标周围,突出显示文本,以及您尝试做的所有其他事情。
一些让事情变得更轻松的高级图书馆(如urwid
)确实会让您走向更具体的外观。觉得这可能不是你想要的,但curses
可以很容易地用于你想要建立的东西。
curses
唯一真正的问题是它不是无处不在。几乎所有* nix平台都会拥有它,但Windows不会。但答案没有太大差异 - 有curses
- 假冒库或Windows特定的conio
库(包括stdlib中的有限库,mscvrt
内)。