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


  • 相关阅读:
    [APM] OneAPM 云监控部署与试用体验
    Elastic Stack 安装
    xBIM 综合使用案例与 ASP.NET MVC 集成(一)
    JQuery DataTables Selected Row
    力导向图Demo
    WPF ViewModelLocator
    Syncfusion SfDataGrid 导出Excel
    HTML Table to Json
    .net core 2.0 虚拟目录下载 Android Apk 等文件
    在BootStrap的modal中使用Select2
  • 原文地址:https://www.cnblogs.com/darkpig/p/5677153.html
Copyright © 2011-2022 走看看