python - 如何在 Python 中编写一个 shell

标签 python shell

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

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

最佳答案

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

关于python - 如何在 Python 中编写一个 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594560/

相关文章:

python - 安装错误 : Do you have azure>=2. 0.0?

python - python x=x+x 比 y=x+x 慢 120 倍?!为什么?

linux - 子shell不获取空环境变量和父shell数组

apache - 从 access.log 获取前 50 个 IP,包括 IPV6

shell - 重定向文件描述符

python - 使用 Fabric 部署到多个 EC2 服务器

python - 使用 tf.keras.models.save_model() 保存多输入 TF 2.x 子类模型时出现 TypeError

python - 如果缺少键,我可以在字典列表上使用列表理解吗?

linux - bash shell 中的 '$$' 是什么?

linux - 用于在 Linux 机器中挂载 Windows 网络位置的 Shell 脚本