1

クリック ライブラリを使用して、コマンド ライン アプリケーションにヘルプを追加しようとしています。公式ドキュメントに記載されているように、

コマンドについては、短いヘルプ スニペットが生成されます。デフォルトでは、長すぎない限り、コマンドのヘルプ メッセージの最初の文です。これはオーバーライドすることもできます

単純な @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__引数を設定します
  • @click.group で装飾されたdocstring をcli1メソッドに追加します

どんな助けでも大歓迎です。

4

1 に答える 1

6

helpパラメータを使用するだけです:

cli = click.CommandCollection(sources=[cli1, cli2], help="This would be your description, dude!")
于 2017-05-05T12:29:01.150 に答える