スクリプトを記録する

クリックすることでコマンドラインツールを非常に簡単に記録することができます。まず、それは自動的にヘルプページを生成します。現在,これらのテキストはレイアウト面ではカスタマイズできないが,すべてのテキストを変更することができる.

ヘルプテキスト.

コマンドとオプションはヘルプパラメータを受け取ります。命令に対しては,関数の文書文字列が提供されると自動的に使用される.

簡単な例:

@click.command()
@click.option('--count', default=1, help='number of greetings')
@click.argument('name')
def hello(count, name):
    """This script prints hello NAME COUNT times."""
    for x in range(count):
        click.echo(f"Hello {name}!")

どのように見えるのでしょうか

$ hello --help
Usage: hello [OPTIONS] NAME

  This script prints hello NAME COUNT times.

Options:
  --count INTEGER  number of greetings
  --help           Show this message and exit.

論点を記録する

click.argument() 一つはいらない help パラメータこれは,Unixツールの一般的な慣例,すなわちパラメータのみを最も必要な内容に用い,それらを名前順に引用することで命令ヘルプテキストに記録するためである.

説明でパラメータを引用するのが好きかもしれません

@click.command()
@click.argument('filename')
def touch(filename):
    """Print FILENAME."""
    click.echo(filename)

どのように見えるのでしょうか

$ touch --help
Usage: touch [OPTIONS] FILENAME

  Print FILENAME.

Options:
  --help  Show this message and exit.

代替的に、パラメータの説明を明示的に提供することがより好きになるかもしれません。

@click.command()
@click.argument('filename')
def touch(filename):
    """Print FILENAME.

    FILENAME is the name of the file to check.
    """
    click.echo(filename)

どのように見えるのでしょうか

$ touch --help
Usage: touch [OPTIONS] FILENAME

  Print FILENAME.

  FILENAME is the name of the file to check.

Options:
  --help  Show this message and exit.

より多くの例については、中の例を参照してください 立論. それがそうです。

再包装を防ぐ

Clickのデフォルトアクションは,端子の幅に応じてテキストを書き換えることである.場合によっては、これが問題になるかもしれない。主な問題は,コード例を表示する際に改行が重要であることである.

各段落に基づいて行の再変換を無効にすることができ、方法は使用のみです。 \b 逃走マークが入っています。この旅行はヘルプテキストから削除され、再改行は無効になるだろう。

例:

@click.command()
def cli():
    """First paragraph.

    This is a very long second paragraph and as you
    can see wrapped very early in the source text
    but will be rewrapped to the terminal width in
    the final output.

    \b
    This is
    a paragraph
    without rewrapping.

    And this is a paragraph
    that will be rewrapped again.
    """

どのように見えるのでしょうか

$ cli --help
Usage: cli [OPTIONS]

  First paragraph.

  This is a very long second paragraph and as you can see wrapped very early
  in the source text but will be rewrapped to the terminal width in the final
  output.

  This is
  a paragraph
  without rewrapping.

  And this is a paragraph that will be rewrapped again.

Options:
  --help  Show this message and exit.

ヘルプテキストを遮断しています

関数文書文字列からコマンドヘルプテキストを取得するのをクリックします。しかし、文書文字列レコード関数パラメータを使用している場合、param:および:return:行をヘルプテキストで見ることを望まないかもしれません。

ご利用いただけます \f 変換タグは,そのタグをクリックしたヘルプテキストが切断される.

例:

@click.command()
@click.pass_context
def cli(ctx):
    """First paragraph.

    This is a very long second
    paragraph and not correctly
    wrapped but it will be rewrapped.
    \f

    :param click.core.Context ctx: Click context.
    """

どのように見えるのでしょうか

$ cli --help
Usage: cli [OPTIONS]

  First paragraph.

  This is a very long second paragraph and not correctly wrapped but it will
  be rewrapped.

Options:
  --help  Show this message and exit.

メタ変数.

オプションとパラメータ受け入れ metavar ヘルプページ中のメタ変数を変更できるパラメータ.デフォルトバージョンは下線付き大文字名であるが,必要であれば異なる方法でアノテーションを行うことができる.これはすべてのレベルでカスタマイズすることができます:

@click.command(options_metavar='<options>')
@click.option('--count', default=1, help='number of greetings',
              metavar='<int>')
@click.argument('name', metavar='<name>')
def hello(count, name):
    """This script prints hello <name> <int> times."""
    for x in range(count):
        click.echo(f"Hello {name}!")

例:

$ hello --help
Usage: hello <options> <name>

  This script prints hello <name> <int> times.

Options:
  --count <int>  number of greetings
  --help         Show this message and exit.

簡単な助けを命令する

コマンドに対して、短いヘルプクリップが生成されます。デフォルトでは、それが長すぎない限り、ヘルプメッセージを命令する最初の言葉である。このオプションをカバーすることもできます:

@click.group()
def cli():
    """A simple command line tool."""

@cli.command('init', short_help='init the repo')
def init():
    """Initializes the repository."""

@cli.command('delete', short_help='delete the repo')
def delete():
    """Deletes the repository."""

どのように見えるのでしょうか

$ repo.py
Usage: repo.py [OPTIONS] COMMAND [ARGS]...

  A simple command line tool.

Options:
  --help  Show this message and exit.

Commands:
  delete  delete the repo
  init    init the repo

ヘルプパラメータのカスタマイズ

Changelog

バージョン 2.0 で追加.

ヘルプパラメータはClickにおいて非常に特殊な方法で実現される.従来のパラメータとは異なり、任意のコマンドをクリックすることで自動的に追加され、自動衝突解決が実行される。デフォルトでは --help しかし、これは変更できます。命令自体が同名のパラメータを実現していれば,デフォルトのヘルプパラメータはそのパラメータの受け取りを停止する.名前を上書きするために使用可能なヘルプパラメータの名前をコンテキスト設定することができる help_option_names それがそうです。

この例では、デフォルト·パラメータをさらに変更します。 -h そして --help ただ…。 --help

CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])

@click.command(context_settings=CONTEXT_SETTINGS)
def cli():
    pass

どのように見えるのでしょうか

$ cli -h
Usage: cli [OPTIONS]

Options:
  -h, --help  Show this message and exit.