从 Python 中读取多个单词作为参数"typer" ||如何使用 "typer" "python" 从 CLI 读取未知数量的带有空格的字符串



我有这个命令在我的命令行应用程序中添加

@app.command(name="add")
def add(
priority: int = typer.Argument(...),
description: List[str] = typer.Argument(...),
) -> None:
print(description)

"""Add a new task with a DESCRIPTION."""
todoer = get_todoer()
todo, error = todoer.add(description, priority)
if error:
typer.secho(
f'Adding task failed with "{ERRORS[error]}"', fg=typer.colors.RED
)
raise typer.Exit(1)
else:
typer.secho(
f"""Added task: "{todo['Description']}" """
f"""with priority {priority}""",
fg=typer.colors.GREEN,
)

它应该阅读任何长度的描述。但问题是它在第一个空白之后就停止了读取。

(venv) C:UsersAsusDesktopfellowship-pythonpython>.task add 10 Buy Milk
('Buy',)
Added task: "Buy" with priority 10
(venv) C:UsersAsusDesktopfellowship-pythonpython>

如何在add命令中读取多个未知数量的参数作为参数。

只需在描述周围使用引号(此处为"Clean House"(即可考虑空间。现在感觉很傻。

C:UsersAsusDesktopfellowship-pythonpython>.task add 10 "Clean House"
('Clean House',)
Added task: "Clean House" with priority 10

最新更新