我正在尝试使用单击库向命令行应用程序添加帮助。如官方文档中所述,
对于命令,会生成一个简短的帮助片段。默认情况下,它是命令帮助信息的第一句,除非它太长。这也可以被覆盖
使用简单的@click.command,一切都按预期工作:
import click
@click.command()
def cli():
"""This is sample description of script."""
if __name__ == '__main__':
cli()
运行它会从方法的 doscstring 中显示脚本的描述:
Usage: example.py [OPTIONS]
This is sample description of script.
Options:
--help Show this message and exit.
但我需要使用 CommandCollection,因为我正在创建一个由多个命令组成的脚本。这是官方帮助的示例:
import click
@click.group()
def cli1():
pass
@cli1.command()
def cmd1():
"""Command on cli1"""
@click.group()
def cli2():
pass
@cli2.command()
def cmd2():
"""Command on cli2"""
cli = click.CommandCollection(sources=[cli1, cli2])
if __name__ == '__main__':
cli()
而且我不知道如何为整个命令集合添加描述。到目前为止我已经尝试过:
- 通过额外的 short_help参数提供帮助
- 在创建 CommandCollection 后为 cli 参数设置__doc__参数
- 将文档字符串添加到cli1方法,用 @click.group 装饰
任何帮助深表感谢。