自动生成有关Click命令的所有帮助文档

时间:2019-09-05 17:46:20

标签: python command-line-interface python-click

是否可以通过单击所有命令和子命令来生成(和导出)帮助文档?

例如,

cli --help all --destination help-docs.txt

将为

之后的命令和子命令生成帮助

cli command subcommand

格式化并放入help-docs.txt文件中。

我能想到的唯一方法就是使用

cli command subcommand --help

在每个我想为其生成帮助的子命令上并将cat的输出保存到文件中,但是如果有一种更简单的方法可以使用Click --help功能来完成此操作,那就太好了。

1 个答案:

答案 0 :(得分:1)

此代码适用于Click 7,主要使用记录在案的API。您基本上会在某个地方致电var container = {}; location.search.split('&').toString().substr(1).split(",").forEach(item => { container[item.split("=")[0]] = decodeURIComponent(item.split("=")[1]) ? item.split("=")[1]: "No query strings available" ; }); console.log(container);,例如作为单独的子命令,并将其传递给您的顶级组对象。

recursive_help

更新2019-10-05 : 假设def recursive_help(cmd, parent=None): ctx = click.core.Context(cmd, info_name=cmd.name, parent=parent) print(cmd.get_help(ctx)) print() commands = getattr(cmd, 'commands', {}) for sub in commands.values(): recursive_help(sub, ctx) cli的一种使用方式是:

click.group