用途
python-cli-ops 提供 Python 命令行应用的开发模式与示例代码,重点演示如何用 Typer 和 Rich 构建结构清晰、输出友好的 CLI 工具。当任务涉及 cli、command line、typer、click、argparse、terminal、rich、console、terminal ui 等关键词时触发。
主要能力
基础 Typer 应用
示例展示创建 Typer 应用,设置 name、help 与 add_completion 参数,并用 @app.command() 定义命令。命令参数可包含:
- 位置参数:使用 typer.Argument,如 name: str = typer.Argument(..., help="Name to greet")。
- 选项参数:使用 typer.Option,如 count: int = typer.Option(1, "--count", "-c", help="Times to greet")。
- 布尔标志:如 loud: bool = typer.Option(False, "--loud", "-l", help="Uppercase")。 命令内部使用 typer.echo 输出结果,并在文件末尾通过 app() 启动应用。
命令组(子命令)
通过 typer.Typer() 创建子应用,并使用 app.add_typer(users_app, name="users") 挂载,形成如 myapp users list、myapp users create "John" "john@example.com"、myapp version 这样分层的命令结构。
Rich 输出
演示 Rich 的多种输出能力:
- 表格:使用 rich.table.Table,设置标题、添加列(可指定样式如 cyan、green)并通过 console.print(table) 输出。
- 进度条:使用 rich.progress.track(items, description="Processing...") 遍历任务并显示进度。
- 颜色标记:在 Console 输出中使用如 [green]Done![/green] 的标记。
- 面板:示例速查表中列出 Panel("content", title="Title") 用法。
错误处理
示例定义统一 error(message, code=1) 函数,使用 Rich Console 打印红色错误信息,并通过 raise typer.Exit(code) 退出;在命令中检查文件是否存在、捕获 ValueError 等异常并统一处理。
速查参考
提供 Typer 语法速查(必填参数、可选参数、Option、Argument、布尔标志、枚举选项)与 Rich 功能速查(表格、进度、颜色、面板)。
附加资源与资产
- ./references/typer-patterns.md:高级 Typer 模式。
- ./references/rich-output.md:Rich 表格、进度、格式化。
- ./references/configuration.md:配置文件、环境变量。
- ./assets/cli-template.py:完整的 CLI 应用模板。
相关技能
- python-typing-ops:CLI 参数的类型提示。
- python-observability-ops:CLI 应用的日志记录。
- python-env:将 CLI 打包分发。
适用场景
适合需要编写 Python 命令行工具、为脚本添加结构化子命令、在终端中输出表格与进度信息、统一处理 CLI 错误的开发工作。
限制
该技能的具体安装方式、收费与定价、支持的运行环境与版本要求等资料暂未提供。