如何在Python中使用click.option()接收句子字符串?

时间:2019-01-01 09:12:42

标签: python python-3.x click command-line-interface

我正在尝试创建一个简单的命令行界面来维护待办事项。
现在我知道我可以使用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 :(得分:0)

根据文档,您只需要添加nargs=<the number you want>,例如:

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

或者您总是可以像这样运行脚本:

todo --add="Hello World !!"