【问题标题】:How to write a shell in Python如何在 Python 中编写一个 shell
【发布时间】:2011-02-05 09:04:24
【问题描述】:

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

是否有任何库可以帮助我做到这一点?我看到 python 中有一个 readline 和 rlcompleter 模块,但它的文档似乎表明这仅用于 python shell 本身,还是我错过了那里的东西?

【问题讨论】:

    标签: python shell


    【解决方案1】:

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

    【讨论】:

    • 是的,这正是我想要的!谢谢。
    • 谈话链接失效了。同一谈话的替代链接is here on pyvideo.。演讲名为:来自 pycon us 2010 的使用 cmd 和 cmd2 (#153) 的简单命令行应用程序。
    【解决方案2】:

    如果您需要通过网络Twisted 访问管理shell,python 框架的沙井是一个很好的解决方案。示例:

    http://www.devshed.com/c/a/Python/SSH-with-Twisted/3/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多