Click 是 Pallets 出品的 Python 命令行工具创建库,用装饰器以极少代码组合出美观的 CLI,支持任意嵌套命令、自动帮助页与子命令运行时懒加载。
- 8.5.0
- 发布于
- 2026年8月27日
- 17,794
- 星标
- 1,290
- 下载
- 同步于
- 8 天前
最新版本
8.5.02026年8月27日 12:00下载慢?可在上方随时切换镜像源
项目说明
项目概述
Click 是一个用于创建命令行界面的 Python 包,全称 Command Line Interface Creation Kit。它以可组合的方式、用尽可能少的代码构建美观的 CLI,高度可配置又自带合理默认值,目标是让写命令行工具的过程快速而有趣。
| 项目 | 内容 |
|---|---|
| 平台 | Python |
| 开发语言 | Python |
| 许可证 | BSD-3-Clause |
| 出品方 | Pallets 组织 |
用装饰器写 CLI:任意嵌套命令、自动生成帮助页、子命令运行时懒加载。
主要功能
- 命令组合:支持任意层级嵌套的命令结构,复杂 CLI 也能清晰组织
- 自动帮助页:根据函数文档与参数定义自动生成帮助信息
- 懒加载子命令:子命令可在运行时按需加载,加快启动速度
- 装饰器定义:
@click.command与@click.option直接把函数变成命令 - 交互提示:选项支持 prompt,缺少参数时自动向用户询问
- 合理默认:开箱即用即可获得良好行为,同时保持高度可配置
适用人群
- Python CLI 工具开发者
- 运维自动化脚本作者
- 多子命令工具构建者
- 需要快速封装脚本为命令的开发者
快速上手
- 安装:
pip install click- 用装饰器定义命令:
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name', help='The person to greet.')
def hello(count, name):
'''Simple program that greets NAME for a total of COUNT times.'''
for _ in range(count):
click.echo(f'Hello, {name}!')
if __name__ == '__main__':
hello()- 运行:
python hello.py --count=3核心优势
- 代码量少:装饰器声明式定义,几行代码得到完整 CLI
- 行为可预期:帮助页与参数处理自动生成,用户上手快
- 组合灵活:命令可任意嵌套,工具能从小脚本自然长成大工具
系统要求
| 项目 | 要求 |
|---|---|
| 运行环境 | Python(pip 安装) |
| 许可证 | BSD-3-Clause |
注意事项
- 函数即文档:命令的 docstring 会成为帮助页描述,写清楚有助于生成更好的帮助信息
- 交互提示:示例中
--name设置了 prompt,未提供该参数时程序会暂停等待输入
历史版本
排序