我正在使用
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 个参数,并将其余参数设为可选。
您可以使用
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