zoukankan      html  css  js  c++  java
  • python optparse模块的简单用法

     1 # coding = utf-8
     2 
     3 from optparse import OptionParser
     4 from optparse import OptionGroup
     5 
     6 usage = 'Usage: %prog [options] arg1 arg2 ...'
     7 
     8 parser = OptionParser(usage,version='%prog 1.0')
     9 #通过OptionParser类创建parser实例,初始参数usage中的%prog等同于os.path.basename(sys.argv[0]),即
    10 #你当前所运行的脚本的名字,version参数用来显示当前脚本的版本。
    11 
    12 '''
    13 添加参数,-f、--file是长短options,有一即可。
    14 
    15 action用来表示将option后面的值如何处理,比如:
    16 XXX.py -f test.txt
    17 经过parser.parse_args()处理后,则将test.txt这个值存储进-f所代表的一个对象,即定义-f中的dest
    18 即option.filename = 'test.txt'
    19 action的常用选项还有store_true,store_false等,这两个通常在布尔值的选项中使用。
    20 
    21 metavar仅在显示帮助中有用,如在显示帮助时会有:
    22 -f FILE, --filename=FILE    write output to FILE
    23 -m MODE, --mode=MODE  interaction mode: novice, intermediate, or expert
    24                         [default: intermediate]
    25 如果-f这一项没有metavr参数,则在上面会显示为-f FILENAME --filename=FILENAME,即会显示dest的值
    26 
    27 defalut是某一选项的默认值,当调用脚本时,参数没有指定值时,即采用default的默认值。
    28 '''
    29 
    30 parser.add_option('-f','--file',
    31                   action='store',dest='filename',
    32                   metavar='FILE',help='write output to FILE')
    33 
    34 parser.add_option('-m','--mode',
    35                   default = 'intermediate',
    36                   help='interaction mode:novice,intermediate,or expert [default:%default]')
    37 parser.add_option('-v','--verbose',
    38                   action='store_true',dest='verbose',default=True,
    39                   help='make lots of noise [default]')
    40 
    41 parser.add_option('-q','--quiet',
    42                   action='store_false',dest='verbose',
    43                   help="be vewwy quiet (I'm hunting wabbits)")
    44 
    45 group = OptionGroup(parser,'Dangerous Options',
    46                     'Caution: use these options at your own risk.'
    47                     'It is believed that some of them bite.')
    48 #调用OptionGroup类,定制以组显示的option
    49 
    50 group.add_option('-g',action='store_true',help='Group option.')
    51 #添加option
    52 parser.add_option_group(group)
    53 #将刚定制的groupoption加入parser中
    54 
    55 group = OptionGroup(parser,'Debug Options')
    56 group.add_option('-d','--debug',action='store_true',
    57                  help='Print debug information.')
    58 group.add_option('-s','--sql',action='store_true',
    59                  help='Print all SQL statements executed')
    60 group.add_option('-e',action='store_true',help='Print every action done')
    61 parser.add_option_group(group)
    62 
    63 (options,args) = parser.parse_args()
    64 #解析脚本输入的参数值,options是一个包含了option值的对象
    65 #args是一个位置参数的列表

    python.exe xxx.py --help显示结果如下:

    Usage: test_optparse.py [options] arg1 arg2 ...

    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      -f FILE, --file=FILE  write output to FILE
      -m MODE, --mode=MODE  interaction mode:novice,intermediate,or expert
                            [default:intermediate]
      -v, --verbose         make lots of noise [default]
      -q, --quiet           be vewwy quiet (I'm hunting wabbits)

      Dangerous Options:
        Caution: use these options at your own risk.It is believed that some
        of them bite.

        -g                  Group option.

      Debug Options:
        -d, --debug         Print debug information.
        -s, --sql           Print all SQL statements executed
        -e                  Print every action done


  • 相关阅读:
    【NOIP2016提高A组集训第14场11.12】随机游走
    poj2378 树形DP
    简单博弈论总结加例题解析
    uva11426 欧拉函数应用
    poj3090欧拉函数求和
    lightOJ1370 欧拉函数性质
    hdu4497 正整数唯一分解定理应用
    hdu1215 正整数唯一分解定理应用
    lightoj 1236 正整数唯一分解定理
    素数筛两种方法
  • 原文地址:https://www.cnblogs.com/darkpig/p/5677153.html
Copyright © 2011-2022 走看看