Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

ClickをつかってPython製CLIツールをスマートにする その1:導入

実際のところ

$ conda install click

執筆時点ではclick 6.7が入ります

動作試験をしてみましょう。
公式のサンプルをそのままコピペしてきます。

import click

@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name',
              help='The person to greet.')
def hello(count, name):
    """Simple program that greets NAME for a total of COUNT times."""
    for x in range(count):
        click.echo('Hello %s!' % name)

if __name__ == '__main__':
    hello()


動かしてみると、こんな感じ

$ python sample_click.py --count=3 --name shuzo
Hello shuzo!
Hello shuzo!
Hello shuzo!

"prompt"の値を設定したオプションは空にしておくと入力パートがでてきます。

$ python sample_click.py --count=3
Your name: shuzo
Hello shuzo!
Hello shuzo!
Hello shuzo!

ヘルプもデフォであります。
親切設計ですね。

$ python sample_click.py --help
Usage: sample_click.py [OPTIONS]

  Simple program that greets NAME for a total of COUNT times.

Options:
  --count INTEGER  Number of greetings.
  --name TEXT      The person to greet.
  --help           Show this message and exit.