入力として名前を受け入れるClickライブラリを使用して Python でコマンド ライン アプリケーションを作成していますが、名前が入力されていない場合はデフォルト値が返されます。
ここに私がこれまでに持っているコードがあります。
こんにちは。
import click
@click.version_option(1.0)
@click.command()
@click.argument('string', default='World')
@click.option('-r', '--repeat', default=1, help='How many times should be greeted.')
def cli(string,repeat):
'''This string greets you.'''
for i in xrange(repeat):
click.echo('Hello %s!' % string)
if __name__ == '__main__':
cli()
実行すると。
$こんにちは
Hello World!
$こんにちはボブ
Hello Bob!
$ こんにちはボブ -r 3
Hello Bob!
Hello Bob!
Hello Bob!
これはまさに私が欲しいものです。
さて、以下の例のように stdin からの入力を受け付けられるようにしたいと思います。
$エコージョン| こんにちは
Hello John!
$エコージョン| こんにちは -r 3
Hello John!
Hello John!
Hello John!