Метод argument
Метод argument применяется к декоратору команды
Click и добавляет позиционный аргумент в CLI-команду.
Первым параметром передаётся имя аргумента. Метод
принимает тип, значение по умолчанию, обязательность,
количество принимаемых значений и другие настройки.
Синтаксис
@click.argument(name, [type], [default], [required], [nargs])
Пример
Давайте создадим команду с одним обязательным
позиционным аргументом name:
import click
@click.command()
@click.argument('name')
def hello(name):
click.echo(f'hello {name}')
if __name__ == '__main__':
hello()
Результат выполнения команды:
python app.py user
"hello user"
Пример
Давайте зададим тип аргумента и значение по умолчанию:
import click
@click.command()
@click.argument('count', type=int, default=1)
def repeat(count):
for i in range(count):
click.echo('abcde')
if __name__ == '__main__':
repeat()
Результат выполнения команды без аргумента:
python app.py
"abcde"
Пример
Давайте примем несколько значений с помощью
параметра nargs:
import click
@click.command()
@click.argument('items', nargs=-1)
def show(items):
for item in items:
click.echo(item)
if __name__ == '__main__':
show()
Результат выполнения команды:
python app.py a b c
"a"
"b"
"c"