Chinaunix首页 | 论坛 | 博客
  • 博客访问: 444463
  • 博文数量: 138
  • 博客积分: 4114
  • 博客等级: 上校
  • 技术积分: 1341
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-14 20:41
文章分类

全部博文(138)

文章存档

2014年(1)

2013年(2)

2012年(78)

2011年(13)

2010年(34)

2009年(10)

我的朋友

分类: LINUX

2012-12-04 09:15:17

一直不习惯python的 文档,总感觉不如java做到好,输入,输出,什么时候会有exception,都很明朗。
而python就是一坨文字,得你一个一个的慢慢去看,为什么不像java那样做成表格的呢?

今天写了一个小程序用到了 getopt,感觉getopt很。。。。。

  1. #!/usr/bin/env python
  2. #encoding:utf-8
  3. #  getargs_learn.py


  4. import getopt
  5. import sys


  6. def get():
  7.     try:
  8.         shortargs = 'f:t'
  9.         longargs = ['directory-prefix=', 'format', 'f_long=']
  10.         opts, args = getopt.getopt(sys.argv[1:], shortargs, longargs)
  11.         for opt, val in opts:
  12.             print opt, ":", val
  13.     except getopt.GetoptError, e:
  14.         print(e)
  15.     
  16. if __name__ == "__main__":
  17.     get()
就是这么个小程序,可是当我输入
python getargs_learn.py  -f nihao -t direcotry-prefix=/root
的时候,程序输出如下:

  1. -f : jfkdlsajfkdlsaf
  2. -t :
连个异常都不报。。。
后来查看了一下文档, 是这么说的


  1. exception getopt.GetoptError
  2. This is raised when an unrecognized option is found in the argument list or when an option requiring an argument is given none.

当时我那个无语啊。。。。
就是说如果你知道有这个参数,没有按照  短:-   长:--
这种形式输入的话,就算你输入的是正确的,程序会在毫无提示的情况下,
只解析正确的,而且是一旦解析不下去了,就停止了。。




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