Аргументы и опции
Аргументы - это обязательные параметры, которые должны идти в определённом порядке. Передаются по позиции, то есть имя аргумента при передаче не указывается.
Опции - это необязательные параметры, которые могут идти в любом порядке. Передаются по имени, выглядят как --option-name [value]
.
Общий вид: command [options] <arguments>
. То есть сначала передаются все опции, потом все аргументы.
Аргументы и опции добавляются к команде с помощью декораторов @click.argument
и @click.option
.
from random import randint
import click
@click.command()
@click.option('--count', default=1, help='Количество чисел')
@click.argument('a')
@click.argument('b')
def cli(count, a, b):
for _ in range(count):
click.echo(randint(int(a), int(b)))
if __name__ == '__main__':
cli()
Теперь использовать скрипт можно так:
# Генерируем случайное число от 1 до 100
python main.py 1 100
# Генерируем случайное число от 1 до 3
python main.py 1 3
# Генерируем 5 случайных чисел от 1 до 100
python main.py --count=5 1 100