sco*_*tle 6 python command-line-interface python-click
有没有一种方法可以使用click为所有命令和子命令生成(和导出)帮助文档?
例如,
cli --help all --destination help-docs.txt
将在命令之后生成命令和子命令的帮助
cli command subcommand
格式化并放入help-docs.txt文件中。
我认为可以完成此操作的唯一方法是使用
cli command subcommand --help
我想要为其生成帮助并将cat其输出到文件的每个子命令,但是如果有一种更简单的方法来使用Click --help功能来完成此操作,那将是很好的选择。
此代码适用于 Click 7,使用大部分已记录的 API。您基本上会调用recursive_help某个地方,例如作为单独的子命令,并将其传递给您的顶级组对象。
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)
Run Code Online (Sandbox Code Playgroud)
更新 2019-10-05:使用它的一种方法,假设cli是 a click.group,将是:
@cli.command()
def dumphelp():
recursive_help(cli)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |