我刚刚开始使用 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 文件保持干净。但我完全不明白如何更好、更正确地实施它。
您可以使用命令组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()