2017-05-05 35 views
0

我正尝试使用点击库将帮助添加到命令行应用程序中。如official documentation中提到的,如何向CommandCollection click的命令添加帮助?

对于命令,会生成一个简短帮助代码片段。默认情况下,该命令的帮助消息的第一句话是 ,除非它太长了 。这也可以覆盖

通过简单的@ 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,因为我正在创建一个由多个命令组成的脚本。下面是official help一个例子:

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参数
  • 设置__doc__论据CLI参数,创建CommandCollection
  • 添加文档字符串CLI1方法之后的帮助,饰以@ click.group

任何帮助,非常感谢。

回答

2

只需使用帮助参数:

cli = click.CommandCollection(sources=[cli1, cli2], help="This would be your description, dude!")