如何用Python编写一个Shell
我写了一个小的控制台应用程序,可以执行一些特定的任务。它的用户界面和版本控制系统或者yum等工具类似。简单来说,你可以把它想象成一种特定领域的语言。现在我想写一个像bash那样的命令行工具,可以执行和自动补全这种语言,并且有命令历史记录(这样我就不需要在每个命令时都加载和保存那些比较大的xml文件)。总之,我想要的东西类似于ipython,但不是用来执行python代码,而是用来执行我自己的DSL。
有没有什么库可以帮助我实现这个?我看到python里有readline和rlcompleter模块,但它们的文档似乎只说明可以用于python shell本身,难道我漏掉了什么吗?