自定义交互式Shell与自动完成

时间:2014-10-06 23:09:07

标签: python shell ipython interactive-shell

我的任务是创建一个嵌入在python中的交互式shell,这样当从命令行调用它时,它将被放入该shell中。任何人都可以推荐我这样做的图书馆吗?

我需要能够创建自定义单词“动作”,所以当用户输入这些单词时,我的程序可以执行我创建的正确功能。我还想在我创建的自定义单词上完成自动完成/标签的功能。

示例:

$ python myapplication.py
$ myapp> 
$ myapp> help
   ... prints the help menu
$ myapp> run service blah
   .. service blah runs ...
$ myapp> exit
$ 

2 个答案:

答案 0 :(得分:5)

试试这个cmd module。它是为此目的而设计的。

答案 1 :(得分:1)

Python Prompt toolkit是一个非常好的模块,可以用来制作功能齐全的交互式外壳。它具有所有必需的功能,例如:

  • 自动完成(带有可视下拉菜单)
  • 命令历史记录和搜索
  • 跨平台工作