click模块解析命令行参数

click模块解析命令行参数

安装

pip install click

操作步骤

1)使用@click.command()装饰一个函数,使之成为命令行接口
2)使用@click.option()等装饰函数,为其添加命令行选项等

案例

# click_demo.py
import click

@click.command()
@click.option('--count', default=1, help='Number of greetings')
@click.option('--name', prompt='Your Name', help='Person of name')
def hello(count, name):
    for x in range(count):
        click.echo('Hello %s' % (name))

if __name__ == '__main__':
    hello()

>>> python click_demo.py --count=5 --name=liuwei

click模块中的相关函数

command   # 使函数成为命令行接口
option    # 增加命令行选项
echo      # 输出结果,使用echo进行输出时为了获得更好的兼容性
Choice    # 只能取列表中给出的固定的值

option常用参数

default  # 设置命令行参数的默认值
help     # 参数说明
type     # 参数类型,可以时string/int/float等
prompt   # 当在命令行中没有输入相应的参数时,会根据prompt提示用户输入
nargs    # 指定命令行参数接收的值的个数

示例

# nargs用法
import click

@click.command()
@click.option('--ops', nargs=2, type=float)  # nargs表示参数限制为2个,type限制类型为浮点型
def findme(pos):
    click.echo('%s / %s' % pos)
# Choice用法
import click

@click.command()
@click.option('--hash-type', type=click.Choice(['md5', 'sha1']))
def digest(hash_type):
    click.echo(hash_type)
# prompt 交互式输入信息
# hide_input  为True表示隐藏输入的内容
# confirmation_prompt   再一次进行交互,例如密码的二次输入验证
import click

@click.command()
@click.option('--password', prompt=True, hide_input=True, confirmation_prompt=True)
def encrypt(password):
    click.echo('Encrypting password to %s' % password.encode('utf-8'))
posted @ 2021-07-08 16:55  我在路上回头看  阅读(127)  评论(0编辑  收藏  举报