我想开发一个通过控制台/命令行与用户交互的小型 Python 应用程序。有没有什么好的库可以用来获取用户输入并以漂亮的方式显示输出?我尝试搜索,但我发现的大部分内容是命令行参数处理,没有看到关于 shell 中用户交互的任何内容。
它应该是跨平台的(Windows 和 Linux)
我想开发一个通过控制台/命令行与用户交互的小型 Python 应用程序。有没有什么好的库可以用来获取用户输入并以漂亮的方式显示输出?我尝试搜索,但我发现的大部分内容是命令行参数处理,没有看到关于 shell 中用户交互的任何内容。
它应该是跨平台的(Windows 和 Linux)
一个非常优秀的库是cmd,它是 python 标准库的一部分。它是跨平台的 Windows、Linux、Mac。你只需要实现一个类,它就提供了很多很棒的特性:
如果您以龟壳示例并将其保存为 turtleshell.py 并将以下龟脚本文件保存为 circles.txt
circle 20
circle 50
circle 100
bye
然后您可以使用以下命令运行 turtle 脚本:
cat circles.txt | ./turtleshell.py
因此,在文档中显示的简单示例中,开发人员基本上制作了一种简单的迷你语言,可以用作与海龟模块的更简单接口,从而更容易向孩子们介绍编程。上面的示例取自 python3 文档,因为它们在其文档中包含了 2.7 文档中没有的详细示例,但 cmd 在 python 2.3 及更高版本中可用且功能齐全。
curses
您可以使用library控制 Unix 终端。该库本质上允许您构建一个简单的终端 GUI。
如果你需要更多,也可以看看Urwid。Urwid 为有眼光的终端 GUI 开发人员提供了更复杂的 GUI 小部件。:-)
根据文档, Curses是 Unix 环境中使用最广泛的。对于 Windows,您可以查看Windows Console Driver、WConio -Windows CONsole I/O for Python 或Wcurses。不幸的是,我在跨平台控制台库上找不到太多东西。
如果您的 Windows 用户是 CLI 用户,他们可能拥有支持 ncurse 的cygwin,因此如果您问我,curses 仍然是最佳选择。