如何将重命名的变量用于点击选项?

How to use a renamed variable for a click option?

我想使用 click 指定一个选项,但我想访问另一个命名变量中的值。

这就是我所拥有的

@click.command()
@click.option(
    "--all",
    is_flag=True,
    help="This will use all of it.",
)
def mycode(all):
    ...

但这会覆盖内置函数 all。因此,为了避免我正在寻找一种方法,以便将不同的变量用于主要代码,即

@click.command()
@click.option(
    "--all",
    is_flag=True,
    alias="use_all"
    help="This will use all of it.",
)
def mycode(use_all):
    ...

但是 click.option 上的文档看起来非常 sparse/misses everything/I 我看错东西了?

那么怎么做呢?

我找到了一个解决方法,使用多个选项名称并将我们想要的那个作为第一个放在变量名称中。

import click


@click.command()
@click.option(
    "--use-all",
    "--all",
    is_flag=True,
    help="This will use all of it."
)
def mycode(use_all):
    print(use_all)

按预期工作并生成此帮助文本:

Usage: so_test.py [OPTIONS]

Options:
  --use-all, --all  This will use all of it.
  --help            Show this message and exit.

显然不理想。我认为我们可以通过定义我们自己的 Option class 并在 click.option 中传递 cls=CustomOptionClass 来添加它 - 但我没有看到任何关于如何进行的文档关于这样做。