pdf文档 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 页请下载阅读 -
文档评分
请文明评论,理性发言.