我编写了一个小型控制台应用程序,可以执行某些任务。用户界面类似于版本控制系统或yum等。所以基本上你可以把它看作是一种特定领域的语言。现在我想写一个(类似bash的)shell,它可以执行和自动完成这种语言,并且有一个命令历史记录(所以我不必在每个命令上加载和保存相当大的xml文件)。简而言之,我想要像ipython这样的东西,但不是用来执行python代码,而是我自己的DSL。
有没有图书馆可以帮我做到这一点?我看到python中有一个readline和rlcompleter模块,但它的文档似乎表明这只适用于python shell本身,或者我错过了什么?
2条答案
按热度按时间xmd2e60i1#
您应该检查cmd和cmd2模块。我认为他们会做你想要的。有一个PyCon talk关于这些。
wdebmtf22#
如果你需要一个通过网络Twisted访问的管理 shell ,python框架的沙井是一个很好的解决方案。范例:
http://www.devshed.com/c/a/Python/SSH-with-Twisted/3/