Как получить строку предложения, используя click.option () в Python? - PullRequest
0 голосов
/ 01 января 2019

Я пытаюсь создать простой интерфейс командной строки для поддержки задач todo.
Теперь я знаю, что могу использовать click.argument(), чтобы получить строковое предложение от пользователя, но я хочу иметь аналогичную функциональность, используя click.option().

@click.command() @click.option('-a', '--add', type=click.STRING, help='Task you want to add') @click.option('-rm', '--remove', type=click.INT, help='ID of task you want to remove') def cli(add, remove): if add: add_task(add) elif remove: remove_task(remove) else: list() Согласно приведенному выше сценарию:
todo -a Hello World !!
Получает только строку «Hello», однако мне нужно полное предложение.

1 Ответ

0 голосов
/ 01 января 2019

в соответствии с документами, все, что вам нужно сделать, это добавить nargs=<the number you want>, например:

@click.option('-a', '--add',nargs=2, type=click.STRING, help='Task you want to add')

или вы всегда можете запустить свой скрипт так:

todo --add="Hello World !!"

...