我想要这样的东西:
import click
@click.command()
@click.option("-r", "--range", nargs=2, type=int, default=(1,2), show_default=True)
def scale(range):
print "scale to %d - %d" % range
if __name__ == '__main__':
scale()
但是多值选项的默认值在这里不起作用。如何正确执行?
我想要这样的东西:
import click
@click.command()
@click.option("-r", "--range", nargs=2, type=int, default=(1,2), show_default=True)
def scale(range):
print "scale to %d - %d" % range
if __name__ == '__main__':
scale()
但是多值选项的默认值在这里不起作用。如何正确执行?
这现在在 master 中实现,将在 v3 发布时普遍可用。通过将可迭代对象传递给default=
. nargs=
并且multiple=True
单独和一起支持。
@click.command()
@click.option('--foo', default=[23, 42], type=click.FLOAT, multiple=True)
def cli(foo):
for item in foo:
click.echo(item)
@click.command()
@click.option('--arg', default=((1, 2), (3, 4)), nargs=2, multiple=True, type=click.INT)
def cli(arg):
for item in arg:
click.echo('<%d|%d>' % item)