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

问题描述 投票:0回答:1

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

python python-3.x command-line-interface python-click
1个回答
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 !!"

© www.soinside.com 2019 - 2024. All rights reserved.