我正在尝试创建一个简单的命令行界面来维护待办事项。
现在我知道我可以使用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”,但是我需要完整的句子。
答案 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 !!"