python click.group demo
时间: 2023-07-01 21:25:33 浏览: 88
以下是一个使用 `click.group` 创建命令行工具的示例代码:
```python
import click
@click.group()
def cli():
pass
@cli.command()
@click.option('--name', prompt='Your name', help='The person to greet.')
def hello(name):
"""Greet someone by name."""
click.echo('Hello, %s!' % name)
@cli.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name', help='The person to greet.')
def greet(count, name):
"""Greet someone by name multiple times."""
for _ in range(count):
click.echo('Hello, %s!' % name)
if __name__ == '__main__':
cli()
```
在这个例子中,`@click.group()` 装饰器创建了一个名为 `cli` 的主命令组。`@cli.command()` 装饰器创建了两个子命令 `hello` 和 `greet`。`hello` 子命令接受一个 `--name` 选项,并输出一个问候语。`greet` 子命令接受一个 `--count` 选项和一个 `--name` 选项,并输出多个问候语。
运行这个脚本可以得到以下输出:
```
Usage: demo.py [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
greet Greet someone by name multiple times.
hello Greet someone by name.
```
可以看到,`click.group` 创建了一个命令行工具,并自动解析命令行参数,显示了可以使用的命令列表。可以尝试运行 `hello` 或 `greet` 命令,并使用 `--help` 选项来查看每个命令的选项和参数。
阅读全文