• 一款构建Python命令行应用的开源库


    1

       

    简介

    当我们编写 Python 程序时,我们经常需要与用户进行交互,接收输入并输出结果。Python 提供了许多方法来实现这一点,其中一个非常方便的方法是使用 typer 库。typer 是一个用于构建命令行应用程序的 Python 库,它使得创建命令行界面变得简单而直观。

    想象一下,你正在编写一个程序,用于管理你的待办事项。你希望用户能够通过命令行界面添加、删除和列出任务。使用 typer 库,你可以轻松地实现这些功能。

    2

       

    安装

    首先,你需要安装 typer 库,可以使用以下命令在命令行中安装它

    pip install typer

    3

       

    基本用法

    安装完成后,你可以开始编写代码。让我们从一个简单的示例开始,创建一个命令行应用程序,用于添加和列出待办事项。

    1. import typer
    2. app = typer.Typer()
    3. @app.command()
    4. def add_task(task: str):
    5. # 在这里实现添加任务的逻辑
    6. typer.echo(f"添加任务:{task}")
    7. @app.command()
    8. def list_tasks():
    9. # 在这里实现列出任务的逻辑
    10. tasks = ["任务1", "任务2", "任务3"]
    11. typer.echo("待办事项列表:")
    12. for task in tasks:
    13. typer.echo(task)
    14. if __name__ == "__main__":
    15. app()

    在这个例子中,我们首先导入了 typer 库,并创建了一个 Typer 对象,命名为 app,然后,我们使用 @app.command() 装饰器定义了两个命令函数:add_task 和 list_tasks。

    add_task 函数用于添加任务。它接收一个名为 task 的参数,表示要添加的任务内容。在函数体内,你可以实现添加任务的逻辑,在这个例子中,我们只是简单地打印出要添加的任务。

    list_tasks 函数用于列出任务。在函数体内,你可以实现列出任务的逻辑,在这个例子中,我们只是简单地创建了一个包含一些示例任务的列表,并使用 typer.echo 函数将它们打印出来。

    最后,我们在 main 中调用 app() 方法。

    现在,你可以在命令行中运行这个脚本,并使用 add_task 和 list_tasks 命令来添加和列出任务。例如:

    1. python test.py add-task "购物"
    2. python test.py list-tasks

    程序输出如下

    1. (notes) PS D:\Works\Gogs\Notes> python.exe test.py add-task "购物"
    2. 添加任务:购物
    3. (notes) PS D:\Works\Gogs\Notes> python.exe test.py list-tasks
    4. 待办事项列表:
    5. 任务1
    6. 任务2
    7. 任务3

    通过这个简单的示例,你可以看到使用 typer 库创建命令行应用程序是多么简单和直观。你只需要定义命令函数,并使用 @app.command() 装饰器将它们与 Typer 对象关联起来。typer 库会自动处理命令行参数的解析和帮助文档的生成,让你可以专注于实现功能逻辑。

    0f5a513574ab9c9a5f939d4ad6ac7d88.jpeg

    当然,这只是 typer 库的基本用法。它还提供了许多其他功能,例如处理选项参数、自定义帮助文档、处理用户输入等,感兴趣的话,可以查阅 typer 库的官方文档以了解更多详细信息,地址 https://typer.tiangolo.com/ ( https://typer.tiangolo.com/ )。

    4

       

    免费社群

    d4312ff4093ccf796f9607eb3e991bb5.jpeg

    a32b3f15cbf7cad1f0bc64fcb2dd3b45.gif

  • 相关阅读:
    结构化思维助力Prompt创作:专业化技术讲解和实践案例
    HarmonyOS/OpenHarmony(Stage模型)应用开发单一手势(二)
    Kotlin - 协程构建器 CoroutineBuilder
    Spring默认缓存的使用-Simple
    87、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->List相关命令
    论文阅读《Robust Monocular Depth Estimation under Challenging Conditions》
    无线电编码和记录和静音检测器 PlayOutONE LiveStream 5.0
    SAS 字符串函数-SCAN
    2014软专 P117
    WEB API 接口签名sign验证入门与实战
  • 原文地址:https://blog.csdn.net/djstavaV/article/details/133627282