python click 中的选项的多种输入类型(“要么/或”)

Val*_*Val 5 python python-3.x python-click

是否可以为 a 指定两种输入类型click.option,所提供的值必须位于其中一种类型?

在带有输入的普通 python 函数中,我会像这样声明它:

from typing import Union

def fun(x: Union[int, str]):
    if isinstance(x, str):
        x = int(x)
    return x**2
Run Code Online (Sandbox Code Playgroud)

所以x应该是intor str

我想click实现同样的目标,只是当输入类型不在定义的类型中时脚本会失败。

我试过了

@click.option('-x', type=(click.INT, click.STRING))
Run Code Online (Sandbox Code Playgroud)

但这似乎只适用于有多个参数的场合。