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