动态添加cli命令

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

我刚刚开始使用 Typer 库来构建 CLI。 我的 cli.py 中有太多命令,我将它们移至单独的文件夹“commands”,但我不知道如何在 cli.py 中为这些命令实现动态加载器。

my_app/
 __init__.py
 commands/
     __init__.py
     command1.py
     command2.py
 cli.py

我首先为模块“commands”中的每个命令创建一个类“Command”,并使用包含该功能的单个函数“handle(** options)”。理想情况下,启动 cli.py 时,我想检查其中有哪些模块并动态加载它们,使 cli.py 文件保持干净。但我完全不明白如何更好、更正确地实施它。

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

您可以使用命令组https://typer.tiangolo.com/tutorial/subcommands/nested-subcommands/

首先,您需要像每个打字机应用程序一样创建命令。例如你的 commandn.py 应该像下面这样

命令.py

import typer

app=typer.Typer()

@app.command()
def test()
   print("Hello")

然后你可以将其调用到你的cli.py中

进口打字机 导入命令

app = typer.Typer()

typer.command()(commandn.test)

app.run()

© www.soinside.com 2019 - 2024. All rights reserved.