如何在Python中编写shell

o3imoua4  于 12个月前  发布在  Shell
关注(0)|答案(2)|浏览(91)

我编写了一个小型控制台应用程序,可以执行某些任务。用户界面类似于版本控制系统或yum等。所以基本上你可以把它看作是一种特定领域的语言。现在我想写一个(类似bash的)shell,它可以执行和自动完成这种语言,并且有一个命令历史记录(所以我不必在每个命令上加载和保存相当大的xml文件)。简而言之,我想要像ipython这样的东西,但不是用来执行python代码,而是我自己的DSL。
有没有图书馆可以帮我做到这一点?我看到python中有一个readline和rlcompleter模块,但它的文档似乎表明这只适用于python shell本身,或者我错过了什么?

xmd2e60i

xmd2e60i1#

您应该检查cmdcmd2模块。我认为他们会做你想要的。有一个PyCon talk关于这些。

wdebmtf2

wdebmtf22#

如果你需要一个通过网络Twisted访问的管理 shell ,python框架的沙井是一个很好的解决方案。范例:
http://www.devshed.com/c/a/Python/SSH-with-Twisted/3/

相关问题