Python命令行交互库?

rdo*_*dev 7 python

我想开发一个小型Python应用程序,通过控制台/命令行与用户交互.有没有好的库可以用来获取用户输入并以漂亮的方式显示输出?我尝试搜索,但我发现的大多数是命令行参数处理,没有看到任何关于shell中的用户交互.

它应该是跨平台的(Windows和Linux)

Mar*_*agh 10

一个非常优秀的库是cmd,它是python标准库的一部分.它是跨平台的Windows,Linux,Mac.你只需要实现一个类,它提供了许多强大的功能:

  1. 提供支持的命令列表(它们最终作为方法实现)
  2. 可以调用的help命令来解释你的一个命令
  3. 处理整个输入命令,检查语法,并调用方法命令循环周期.
  4. 用户可以保存他们在交互式会话中运行的命令,并将其作为脚本运行.看看下面的例子.

如果您使用turtle shell示例并将其另存为turtleshell.py并将以下龟文件保存为circles.txt

circle 20
circle 50
circle 100
bye
Run Code Online (Sandbox Code Playgroud)

然后你可以使用以下命令运行turtle脚本:

cat circles.txt | ./turtleshell.py
Run Code Online (Sandbox Code Playgroud)

因此,在文档中显示的简单示例中,开发人员基本上已经制作了一个简单的迷你语言,可以用作更简单的海龟模块接口,从而更容易向孩子们介绍编程.上面的例子来自python3文档,因为它们在他们的文档中包含了一个详细的例子,这些例子在2.7文档中没有,但cmd在python 2.3及更高版本中可用并且功能齐全.


Mar*_*ers 6

您可以使用curses来控制Unix终端.该库本质上允许您构建一个简单的终端GUI.

如果您需要更多,请查看Urwid.Urwid为挑剔的终端GUI开发人员提供了更复杂的GUI小部件.:-)