我正在尝试创建一个简单的命令行界面来维护待办任务。我知道我可以使用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”,但是我需要完整的句子。
根据文档,您需要做的就是添加nargs=<the number you want>
例如:
@click.option('-a', '--add',nargs=2, type=click.STRING, help='Task you want to add')
或者您总是可以像这样运行脚本:
todo --add="Hello World !!"