6

click.option( Click lib )の宛先変数をオーバーライドする方法を知りたいです。たとえば、そのようなコードでは

import click

@click.command()
@click.option('--output', default='data')
def generate_data(output_folder):
    print(output_folder)

だから私はフラグを使いたいのです--outputが、その値をoutput_folder引数に渡し@click.option('--output', default='data', dest='output_folder')ます。クリックにそのような能力はありますか?argparse がそのような動作を許可することを知っています。

4

1 に答える 1

10

はい、オプションと引数の両方をカバーするパラメータ名に関するクリック ドキュメントのセクションを参照してください。

パラメータにダッシュなしの名前が指定されていない場合、最も長い引数を取り、すべてのダッシュをアンダースコアに変換することによって、名前が自動的に生成されます。のオプションの場合('-f', '--foo-bar')、パラメータ名はfoo_barです。のオプションの場合('-x',)、パラメータはxです。のオプションの場合('-f', '--filename', 'dest')、パラメータは と呼ばれdestます。

これがあなたの例です:

from __future__ import print_function
import click

@click.command()
@click.option('--output', 'data')
def generate_data(data):
    print(data)

if __name__ == '__main__':
    generate_data()

それを実行する:

$ python2.7 stack_overflow.py --output some_output
some_output
于 2016-06-09T22:03:00.337 に答える