• python optparse命令解析模块


    Python 有两个内建的模块用于处理命令行参数:
    一个是 getopt只能简单处理 命令行参数;
    另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。会自动帮你负责-h帮助选项。

    import optparse
    #usage 定义的是使用方法,%prog 表示脚本本身,version定义的是脚本名字和版本号
    parse=optparse.OptionParser(usage='"usage:%prog [options] arg1,arg2"',version="%prog 1.2")
    parse.add_option('-u','--user',dest='user',action='store',type=str,metavar='user',help='Enter User Name!!')
    parse.add_option('-p','--port',dest='port',type=int,metavar='xxxxx',default=3306,help='Enter Mysql Port!!')
    parse.add_option('-v',help='Mysql Version!!')
    #-u,--user 表示一个是短选项 一个是长选项
    #dest='user' 将该用户输入的参数保存到变量user中,可以通过options.user方式来获取该值
    #type=str,表示这个参数值的类型必须是str字符型,如果是其他类型那么将强制转换为str(可能会报错)
    #metavar='user',当用户查看帮助信息,如果metavar没有设值,那么显示的帮助信息的参数后面默认带上dest所定义的变量名
    #help='Enter..',显示的帮助提示信息
    #default=3306,表示如果参数后面没有跟值,那么将默认为变量default的值
    parse.set_defaults(v=1.2)  #也可以这样设置默认值
    options,args=parse.parse_args()
    print 'OPTIONS:',options
    print 'ARGS:',args
     
    print '~'*20
    print 'user:',options.user
    print 'port:',options.port
    print 'version:',options.v

    parse_args() 返回的两个值:
    options,它是一个对象(optpars.Values),保存有命令行参数值。只要知道命令行参数名,如 user,就可以访问其对应的值: options.user
    args:返回一个位置参数的列表

    action有三种类型:
    action='store' 默认类型,可以忽略不写。用户必须给出一个明确的参数值,该类型定义了将实际参数值保存到dest指定变量中
    action='store_true' 用户不需给出参数值,该类型定义了将布尔值true保存到dest指定的变量中
    action='store_false' 用户不需给出参数值,该类型定义了将布尔值false保存到dest指定的变量中

    [root@localhost ~]# python  mysql.py -uroot -p3306 
    OPTIONS: {'v': 1.2, 'port': 3306, 'user': 'root'}
    ARGS: []
    ~~~~~~~~~~~~~~~~~~~~
    user: root
    port: 3306
    version: 1.2
    [root@localhost ~]# python  mysql.py --version
    mysql.py 1.2
  • 相关阅读:
    装饰者模式【结构模式】
    代理模式【结构模式】
    原型模式【构建模式】
    建造者模式【构建模式】
    抽象工厂模式【构建模式】
    工厂模式【构建模式】
    单例模式【构建模式】
    设计原则
    Collector 源码分析
    Maven 包命令
  • 原文地址:https://www.cnblogs.com/pping/p/3989098.html
Copyright © 2020-2023  润新知