如何用Python编写shell

pan*_*nzi 23 python shell

我写了一个可以执行某些任务的小型控制台应用程序.用户界面类似于版本控制系统或yum等.因此,基本上您可以将其视为特定于域的语言.现在我想编写一个(类似bash)shell,它可以执行并自动完成这种语言并具有命令历史记录(因此我不必在每个命令上加载和保存相当大的xml文件).简而言之,我想要像ipython这样的东西,但不是为了执行python代码而是我自己的DSL.

是否有任何图书馆可以帮助我这样做?我看到python中有一个readline和rlcompleter模块但是它的文档似乎表明这只是用于python shell本身,或者我错过了什么?

Bri*_*tle 22

您应该查看cmdcmd2模块.我认为他们会做你想做的.有一个PyCon 谈论这些.

  • 谈话的链接不再起作用了.另一个相同谈话的链接[在pyvideo上.](http://pyvideo.org/video/306/pycon-2010--easy-command-line-applications-with-c).这个话题被称为:来自pycon us 2010的cmd和cmd2(#153)的简单命令行应用程序. (2认同)