【发布时间】:2015-12-01 18:43:07
【问题描述】:
我正在研究一个带有 shell 提示符的 python CLI 应用程序。为了澄清,我正在寻找支持 2 个功能的东西。
1) 提供 shell 提示和自动完成命令,如“cmd”模块支持的方式。例如:“do_”前缀命令。 (do_xyz: do_abc.)
2) 提供对多个子命令和选项的支持。例如:
$ python my_prog_prompt.py
(my_prog_prompt)> cmd1 subcmd1 subsubcmd1
(my_prog_prompt)> cmd1 subcmd1 subsubcmd2
(my_prog_prompt)> cmd1 subcmd2 subsubcmd1 -x -y
(my_prog_prompt)> cmd2 subcmd1
(my_prog_prompt)> cmd2 subcmd1
(my_prog_prompt)> exit
$
我发现上面的“cmd”模块过于简单。因为它不支持多个子命令。使用 Cement CLI,我可以看到它很好地支持多个命令/子命令和选项,但没有 shell/提示界面。可以扩展“cmd”模块以支持上述内容吗?或者是否有其他可用的框架或模块我可以使用,这将为我提供上述支持。
非常感谢。
【问题讨论】:
-
您看过
readline和rlcompleter模块吗?
标签: python linux bash shell command-line-interface