Click 是一个方便制作命令行工具的 Python 库
使用方法可以看这篇文章
这里简单罗列两个基本用法
# test1.py
"""
$ test1.py --text abc -n 2
abc
abc
$ test1.py
nothing
"""
import click
@click.command()
@click.option('--text', default="nothing", help='text to echo')
@click.option('-n', '--count', default=1, help='repeat')
def echo(text, count):
for _ in range(count):
click.echo(text)
if __name__ == "__main__":
echo()
注意,这里的 echo 被彻底被 click 改写了,没有参数,也不能复用
多个子命令的情况用 Group
# test2.py
"""
$ test2.py list
0
1
2
3
$ test2.py rand
2
"""
import click
import random
numbers = [0, 1, 2, 3]
@click.command(name='list')
def lst():
for i in numbers:
click.echo(i)
@click.command()
def rand():
click.echo(random.choice(numbers))
@click.group()
def manager():
pass
manager.add_command(lst)
manager.add_command(rand)
if __name__ == "__main__":
manager()