Флаги
Отдельный вид опций - это флаги. Для них не нужно указывать никакого конкретного значения, они либо есть, либо их нет. Во многих консольных приложениях используется флаг --verbose
(«многословный»). Давайте сделаем так, чтобы при наличии такого флага в консоль выводилось не только число, но и небольшое сообщение.
@click.command()
@click.option('--count', default=1, help='Количество чисел')
@click.option('--verbose', is_flag=True)
@click.argument('a')
@click.argument('b')
def cli(count, verbose, a, b):
for i in range(count):
rand = randint(int(a), int(b))
if verbose:
click.echo(f'Случайное число №{i + 1}: {rand}')
else:
click.echo(rand)
Теперь использовать скрипт можно так:
# "Многословно" генерируем 5 случайных чисел от 1 до 100
python main.py --verbose --count=5 1 100