gpt4 book ai didi

python - click.Choice 多个参数

转载 作者:太空狗 更新时间:2023-10-29 21:30:55 27 4
gpt4 key购买 nike

所以我想要实现的是确保参数是某些预定义集的一部分(这里是 tool1、tool2、tool3),比如 @click.optiontype= click.Choice(),同时能够传递多个参数,例如使用 @click.argumentnargs=-1

import click

@click.command()
@click.option('--tools', type=click.Choice(['tool1', 'tool2', 'tool3']))
@click.argument('programs', nargs=-1)
def chooseTools(programs, tools):
"""Select one or more tools to solve the task"""

# Selection of only one tool, but it is from the predefined set
click.echo("Selected tools with 'tools' are {}".format(tools))

# Selection of multiple tools, but no in-built error handling if not in set
click.echo("Selected tools with 'programs' are {}".format(programs))

这看起来像这样的例子:

python selectTools.py --tools tool1 tool3 tool2 nonsense
Selected tools with 'tools' are tool1
Selected tools with 'programs' are (u'tool3', u'tool2', u'nonsense')

click 中是否有任何内置方法可以实现这一点?或者我应该只使用 @click.argument 并检查函数本身的输入?

由于我是命令行界面编程的新手,尤其是点击,并且只是开始深入研究 python,所以我很感激有关如何以简洁的方式处理此问题的建议。

最佳答案

事实证明,我在使用 @click.option 时误解了 multiple=True 的用法。

例如是否可以多次调用-t

python selectTools.py -t tool1 -t tool3 -t tool2

通过使用

@click.option('--tools', '-t', type=click.Choice(['tool1', 'tool2', 'tool3']), multiple=True)

因此可以从选项中选择多个工具。

关于python - click.Choice 多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486367/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com