我正在努力让click.option
成为数字0
,1
和2
之间的选择。我试过这个:
@click.Option('--verbosity', default=1, type=click.Choice([0, 1, 2]))
def f():
# ...
pass
但我得到例外TypeError: sequence item 0: expected str instance, int found
。我想click
只需要click.Choice
中的字符串。有什么办法让它接受整数?我知道我可以在收到后手动转换为int,但是如果有一种惯用的方式来接收int
选项,那就更好了。
答案 0 :(得分:2)
您可以使用IntRange(min=0, max=2)
:
class click.IntRange(min=None, max=None, clamp=False)
参数 与click.INT类似,但限制值适合a 范围。如果值超出范围,则默认行为将失败 范围,但它也可以无声地夹在两个边缘之间。