Click
click 是一个非常方便的包,可以在用命令行启动的时候传入一些变量,而不用每次都要修改配置文件。
简单使用
# hello.py
import click
@click.command()
@click.option('--count', default=1, help='number default 1')
@click.option('--name', help='set persion name')
def say_name(count, name):
for i in range(count):
print(name)
if __name__ == '__main__':
say_name()
然后运行 python hello.py --count 8 --name Ginta
, 可以看到以下输出
Ginta
Ginta
Ginta
Ginta
Ginta
Ginta
Ginta
Ginta
如果有多个函数,想指定运行其中一个函数,可以使用 click.group()
import click
@click.group()
def cli():
pass
@cli.command()
@click.option('--mongo_db_uri')
def initdb(mongo_db_uri):
print(mongo_db_uri)
@cli.command()
@click.option('--shut', is_flag=True)
def close_conn(shut):
if shut:
print("shutdown conn")
if __name__ == "__main__":
cli()
运行 python hello.py initdb --mongo_db_uri mongodb://127.0.0.1:27017
, 可以看到以下输出
mongodb://127.0.0.1:27017
运行 python cmd.py close-conn --shut
,可以看到如下效果:
shutdown conn
Flag 默认为False
注意,在 click版本是7.0以上函数名要用中划线,比如我这里就用了 “close-conn” !