pallets

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 工具开发者
  • 运维自动化脚本作者
  • 多子命令工具构建者
  • 需要快速封装脚本为命令的开发者

快速上手

  1. 安装:
pip install click
  1. 用装饰器定义命令:
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()
  1. 运行:
python hello.py --count=3

核心优势

  • 代码量少:装饰器声明式定义,几行代码得到完整 CLI
  • 行为可预期:帮助页与参数处理自动生成,用户上手快
  • 组合灵活:命令可任意嵌套,工具能从小脚本自然长成大工具

系统要求

项目 要求
运行环境 Python(pip 安装)
许可证 BSD-3-Clause

注意事项

  • 函数即文档:命令的 docstring 会成为帮助页描述,写清楚有助于生成更好的帮助信息
  • 交互提示:示例中 --name 设置了 prompt,未提供该参数时程序会暂停等待输入

历史版本

排序