Yes, see the section in the click documentation on parameter names, which covers both options and arguments.
If a parameter is not given a name without dashes, a name is generated automatically by taking the longest argument and converting all dashes to underscores. For an option with ('-f', '--foo-bar')
, the parameter name is foo_bar
. For an option with ('-x',)
, the parameter is x
. For an option with ('-f', '--filename', 'dest')
, the parameter is called dest
.
Here's your example:
from __future__ import print_function
import click
@click.command()
@click.option('--output', 'data')
def generate_data(data):
print(data)
if __name__ == '__main__':
generate_data()
Running it:
$ python2.7 stack_overflow.py --output some_output
some_output