问题
I'm trying to use click for multiple files. For example:
@cli.command("test")
@click.argument('input', type=click.File('rb'))
def test(input):
with click.progressbar(input, label='READING') as bar:
for x in bar:
pass
When I do something like this:
script test ~/ololo/*
I get:
Error: Got unexpected extra arguments ( ... listing all files in folder ...)
回答1:
You need to use nargs
parameter. If it is set to -1, then an unlimited number of arguments is accepted: http://click.pocoo.org/6/arguments/#variadic-arguments
@cli.command("test")
@click.argument('input', nargs=-1, type=click.File('rb'))
def test(input):
with click.progressbar(input, label='READING') as bar:
for x in bar:
pass
来源:https://stackoverflow.com/questions/34762947/click-wouldnt-let-me-pass-multiple-files-although-it-should-be-possible