【问题标题】:Ignoring empty arguments for certain flags忽略某些标志的空参数
【发布时间】:2016-07-30 14:18:23
【问题描述】:

我有一个带有 1 个参数并且可以带有多个标志的命令。

@click.command()
@click.argument('item')
@click.option('--list-items', help='list items', is_flag=True)
def cli(item, list_items):
    if list_items:
        click.echo(ITEMS)
        return

目前返回:

Error: Missing argument "item".

即使我不提供参数,我如何才能访问 --list-items 的功能?就像 --help 标志一样。

【问题讨论】:

    标签: python command-line-interface python-click


    【解决方案1】:

    您必须将item 设为可选:

    @click.argument('item', required=False)
    

    然后在函数中进行错误处理(例如引发BadParameter() exeception)。

    【讨论】:

    • 不敢相信我错过了,浏览了 30 分钟的文档却找不到它:D 谢谢!
    【解决方案2】:

    您将其设为强制参数,通过添加 required= False 或为其添加默认值使其成为可选

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 2013-05-30
      相关资源
      最近更新 更多