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