Python:如何使用 typer 将多个可选值传递给选项

问题描述 投票:0回答:1

我正在使用

typer
制作一个 cli。从 docs 我可以读到,可以将多个值传递给一个选项,但所有值都变成必需的而不是可选的。

在这里您可以创建一个可以接受多个值的参数。(来自docs

def main(user: Tuple[str, int, bool] = typer.Option((None, None, None))):

但是正如你在底部看到的,如果你不提供 3 个参数,它会显示错误

python main.py --user Alex 32

Error: --user option requires 3 arguments

那么如何才能使

--user
根据需要接受 1 个参数,并将其余参数设为可选。

python command-line-interface typer
1个回答
0
投票

您可以使用

List
代替
Tuple

from typing import List, Optional
def main(user: Optional[List[str | int]]):

(此处的可选选项是为了防止您不想传递任何值 然后使用如下脚本:

python main.py --user Alex --user 32 --user 34 --user Harry
© www.soinside.com 2019 - 2024. All rights reserved.