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


posted @ 2016-07-16 20:26  挣扎的猪  阅读(8066)  评论(0编辑  收藏  举报