zoukankan      html  css  js  c++  java
  • optparse参数处理

    import optparse   #处理sys.argv中提供的UNIX风格命令行选项

    a=optparse.OptionParser()
    #a.add_option(name1,name2,[,**parms]) name1/2分别是所有选项的名称,parms为关键字
    #关键字如下:
    #action 解析选项时执行的动作:
    # 'store'——选项有一个参数需要读取和保存,如果没有任何显示指定动作,这就是默认动作
    # 'store_const'——选项不带任何参数,但是当遇到选项时,就会保存const关键字参数指定的常量值
    #    'stone_true'——解析选项时,保存的是BOOL值

    # 'store_false'——解析选项时,保存的是BOOL值
    # 'append'——选项有一个参数,解析时被附加到一个列表
    # 'count'——选项不带任何参数,但是保存一个计数器,遇到参数,计数器的值就会增加
    # 'callback'——遇到选项时,调用callback关键字指定的一个回调函数
    # 'help'——解析选项时打印一条帮助消息
    # 'version'——

    #callback 指定遇到选项时候调用的回调函数 callback(option,opt_str,value,parse,*rags,**kwarg
    #
    #choice 指定所有可能的选项值的字符串列表,当一个选项只有一组有限的值时候使用
    #
    #const 通过store_const动作保存的常量值
    #
    #default 默认值None
    #
    #dest 设置用于保存解析期间选项值的属性名称
    #
    #help 这个特定选项的帮助文档
    #
    #metavar 指定打印帮助文本时使用的选项参数的名称
    #
    #nargs 为需要参数的动作指定选项参数的数量
    #
    #type 指定选项的类型
    #########################################
    a.disable_interspersed_args() #不接受简单选项和位置参数的混合使用
    a.enable_interspersed_args() #选项与位置参数可以混合使用
    a.parse_args() #解析命令行选项,并返回一个元组(options,args)options包含所有选项的值得对象,args是所有余下位置参数的列表
    a.set_defaults() #设置特定选项目的的默认值

    ###########################################
    a.add_option("-t",action="store_true",dest="tracing")
    a.add_option("-o","--outfile",action="store",type="string",dest="outfile")
    a.add_option("--speed",action="store",type="choice",dest="speed",choices=["slow","fast","ludicrous"])
    a.add_option("-c",action="store",type="int",dest="cc",nargs=2) #带多个参数
    a.set_defaults(tracing=False,speed="fast") #为各个参数设置默认值
    opt,args=a.parse_args() #解析参数
    print(opt.tracing)
    #.....
  • 相关阅读:
    SPOJ VJudge QTREE
    LCA 在线倍增法 求最近公共祖先
    Codevs 2370 小机房的树
    51Nod-1632-B君的连通
    51Nod--1100-斜率最大
    51Nod-1276-岛屿的数量
    51Nod-1270-数组的最大代价
    poj
    hihocoder Week136 -- 优化延迟
    poj-1035-Spell Checker
  • 原文地址:https://www.cnblogs.com/arthas-zht/p/6551016.html
Copyright © 2011-2022 走看看