Click Documentation Release 2.6
354.87 KB
83 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档介绍了Click,一个用于创建命令行界面的Python包。Click提供了一种组合式的方式,通过简单的代码实现命令行工具的快速创建,支持自动生成帮助页面、子命令的运行时懒加载和命令的任意嵌套。文档中展示了多个示例,包括命令和选项的定义、用户输入的处理以及帮助页面的自动生成。同时,文档还记录了Click的版本更新日志,涵盖了2.3到2.6版本之间的Bug修复和功能改进。Click通过装饰器来定义命令工具,支持参数的自动化处理,包括参数验证、输入提示和确认提示。 | ||
AI总结 | ||
《Click Documentation Release 2.6》是关于Python包Click的文档,Click是一个用于创建命令行界面的工具,旨在让开发者快速、轻松地构建功能丰富的CLI工具,同时避免传统方法中的麻烦。以下是文档的核心内容总结:
---
### Click 简介
- **Click** 是一个Python包,用于以可组合的方式创建美观的命令行界面(CLI),代码量最少。
- **核心特点**:
- 支持命令的任意嵌套。
- 自动生成帮助页。
- 运行时支持懒加载子命令。
- **默认配置**:Click高度可定制,且默认设置合理,能快速上手。
---
### Click 的使用
1. **基本commands**:
- 通过装饰器`@click.command()`将函数转换为命令行工具。
- 示例:
```python
@click.command()
def hello():
click.echo('Hello World!')
```
- 运行结果:
```
$ hello
Hello World!
```
2. **选项(Options)**:
- 使用`@click.option()`装饰器定义选项。
- 示例:
```python
@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):
for x in range(count):
click.echo('Hello %s!' % name)
```
- 运行结果:
```
$ hello --count=3
Your name: John
Hello John!
Hello John!
Hello John!
```
3. **参数(Arguments)**:
- 使用`@click.argument()`装饰器定义参数。
- 示例:
```python
@click.command()
@click.argument('filename')
def touch(filename):
click.echo(filename)
```
- 运行结果:
```
$ touch foo.txt
foo.txt
```
4. **用户输入**:
- 支持通过`prompt()`函数手动询问用户输入,支持类型验证。
```python
value = click.prompt('Please enter a valid integer', type=int)
```
- 确认提示:`confirm()`函数用于确认操作。
```python
if click.confirm('Do you want to continue?'):
click.echo('Well done!')
```
5. **命令组(Command Groups)**:
- 使用`@click.group()`装饰器定义命令组。
- 示例:
```python
@click.group()
def cli():
pass
@cli.command()
def init():
click.echo('Initializing repository.')
```
6. **帮助文档**:
- Click自动生成帮助页,文本内容基于函数的docstring。
- 示例:
```python
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
def hello(count):
"""This script prints hello NAME COUNT times."""
```
- 运行结果:
```
$ hello --help
Usage: hello [OPTIONS] NAME
This script prints hello NAME COUNT times.
Options:
--count INTEGER number of greetings
--help Show this message and exit.
```
---
### 高级功能
1. **参数验证**:
- 使用回调函数验证参数格式。
- 示例:
```python
def validate_rolls(ctx, param, value):
try:
rolls, dice = map(int, value.split('d', 2))
return (dice, rolls)
except ValueError:
raise click.BadParameter('rolls need to be in format NdM')
@click.command()
@click.option('--rolls', callback=validate_rolls, default='1d6')
def roll(rolls):
click.echo('Rolling a %d-sided dice %d time(s)' % rolls)
```
2. **自定义帮助**:
- 支持通过`short_help`参数自定义命令的简短帮助信息。
- 支持禁止文本重排,例如在帮助文档中添加`\b`禁用重排。
3. **上下文设置**:
- 可以通过`context_settings`自定义-help选项的名称等。
---
### 版本更新
- **Version 2.6**:
- 修复了Python 3上wrapped streams的seekable值报告问题。
- **Version 2.5**:
- 修复了Python 3上的文本换行问题。
- **Version 2.4**:
- 修复了2.3版本中help选项的格式问题。
- **Version 2.3**:
- 修复了count选项的帮助记录格式问题。
- 在Windows上支持ANSI代码剥离(如果没有colorama)。
- 恢复Click 1.0中对help参数的边缘案例处理。
---
### 总结
Click是一个功能强大且易用的Python包,支持快速创建命令行工具,并提供丰富的功能,如参数验证、用户输入提示、命令组、自动帮助生成等。文档涵盖了基础使用、进阶功能以及版本更新内容,适合开发者快速上手并高效构建CLI应用。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
76 页请下载阅读 -
文档评分