Chinaunix首页 | 论坛 | 博客
  • 博客访问: 759667
  • 博文数量: 231
  • 博客积分: 3217
  • 博客等级: 中校
  • 技术积分: 2053
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-04 12:01
文章分类

全部博文(231)

文章存档

2015年(1)

2013年(10)

2012年(92)

2011年(128)

分类: LINUX

2012-08-23 18:12:59

p=optparse.OptionParser()
p.add_option(name1,...nameN [,**parms])
p.parse_args([arglist]):解析命令行选项并返回一个元组(options,args),其中options是包含所有选项的值的对象,args是所有余下位置参数的列表。options对象使用与选项名称匹配的属性名称来保存所有选项数据。
p.set_defaults(dest=value,....dest=value):设置特定选项目的地的默认值。关键字参数的名称应该与在add_option()函数中使用dest参数指定的名称相匹配。

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. import optparse
  3. p=optparse.OptionParser()
  4. ##简单的选项,不带参数
  5. p.add_option("-t",action="store_true",dest="tracing")
  6. ##接受字符串参数的选项
  7. p.add_option("-o","--outfile",action="store",type="string",dest="outfile")
  8. ##需要整数参数的选项
  9. p.add_option("-d","--debug-level",action="store",type="int",dest="debug")
  10. ##带有一些选择的选项
  11. p.add_option("--speed",action="store",type="choice",dest="speed",choices=["slow","fast","ludicrous"])
  12. ##带有多个参数的选项
  13. p.add_option("--coord",action="store",type="int",dest="coord",nargs=2)
  14. ##一组控制常用目的地选项
  15. p.add_option("--novice",action="store_const",const="novice",dest="mode")
  16. p.add_option("--guru",action="store_const",const="guru",dest="mode")
  17. ##为各个选项目的地设置默认值
  18. p.set_defaults(tracing=False,debug=0,speed="fast",coord=(0,0),mode="novice")
  19. opt,args=p.parse_args()
  20. print "tracing : ",opt.tracing
  21. print "outfile : ",opt.outfile
  22. print "debug : ",opt.debug
  23. print "speed: ",opt.speed
  24. print "coord: ",opt.coord
  25. print "mode: ",opt.mode
  26. print "args: ",args

 

输出结果:

python log.py -h
>python log.py -h
Usage: log.py [options]

Options:
  -h, --help            show this help message and exit
  -t                   
  -o OUTFILE, --outfile=OUTFILE
  -d DEBUG, --debug-level=DEBUG
  --speed=SPEED        
  --coord=COORD        
  --novice             
  --guru               
>Exit code: 0
python log.py -t -o outfile.dat -d 3 --coord 3 4 --speed=ludicrous blah
>python log.py -t -o outfile.dat -d 3 --coord 3 4 --speed=ludicrous blah
tracing :  True
outfile :  outfile.dat
debug :  3
speed:  ludicrous
coord:  (3, 4)
mode:  novice
args:  ['blah']
>Exit code: 0


阅读(1788) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~