click模块

作者: 苦海飘摇 | 来源:发表于2021-02-03 17:10 被阅读0次

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

  • click.option使用
    option 最基本的用法就是通过指定命令行选项的名称,从命令行读取参数值,再将其传递给函数。
    default: 设置命令行参数的默认值
    help: 参数说明
    type: 参数类型,可以是 string, int, float 等
    prompt: 当在命令行中没有输入相应的参数时,会根据 prompt 提示用户输入
    nargs: 指定命令行参数接收的值的个数
    metavar:如何在帮助页面表示值
    is_eager=True 表明该命令行选项优先级高于其他选项
    expose_value=False 表示如果没有输入该命令行选项,会执行既定的命令行流程
    callback=run 指定了输入该命令行选项时,要跳转执行的函数
    is_flag=True 表明参数值可以省略

例:

import click
@click.command()
@click.option('-i', '--server-ip', help=u'main_server的ip', default='localhost', type=str)
@click.option('-p', '--server-port', help=u'main_server的port', default=1234, type=int)
@click.option('-pwd', '--password', help=u'main_server的password', prompt='main_server的password', type=int)
def main(server_ip, server_port, password):
    print(server_ip)
    print(server_port)
    print(password)
if __name__ == '__main__':
    main()
help

因为pwd有prompt参数,缺少时会提示用户输入。

  • 既然是密码,那就有隐藏输入
    hide_input 和 confirmation_promt,其中,hide_input 用于隐藏输入,confirmation_promt 用于重复输入。
# 将下行更改即可
@click.option('-pwd', '--password', help=u'main_server的password', prompt='main_server的password', hide_input=True, type=int)

相关文章

网友评论

    本文标题:click模块

    本文链接:https://www.haomeiwen.com/subject/eakmtltx.html