Python点滴 ------ getopt使用

getopt.getopt(args, options[, long_options])

import getopt

s='ping -c 12 -t 1.0 -6 -s 1024 192.168.0.1'
sys.argv=s.split()
getopt.getopt(sys.argv[1:],'c:t:s:6')
结果:([('-c', '12'), ('-t', '1.0'), ('-6', ''), ('-s', '1024')], ['192.168.0.1'])
说明:
'c:'表示选项列表里,紧随'c'之后的元素与'c'组成一个元组.'t:'和's:'的含义与'c'相同.
'6'表示选项列表里,与'6'组成元组的元素是''(空字符).
-----以上所示的选项是指使用单字符作为选项.

s='ping -c 12 -t 1.0 -6 --size 1024 --help 192.168.0.1'
sys.argv=s.split()
getopt.getopt(sys.argv[1:],'c:6t:',['size=','help'])
结果:([('-c', '12'), ('-t', '1.0'), ('-6', ''), ('--size', '1024'), ('--help', '')], ['192.168.0.1'])
说明:
--'c:'、't:'的含义如上所述.'6'的含义如上.
--对于字符串选项,'size='表示该字符串后所随着的字符串('1024')与'size'组成一个元组(注意'='号),'help'表示该字符串与空字符组成一个元组('--help', '')



理解:
1、options指单字符,long_options指字符串。
2、形如'c:',表示'c'与随其后的字符串为一组元组,'c'与下一个字符串有没有空格,不影响结果,但空格不会加入到字符串中。
3、形如'6'(没有':'号),表示其与‘’(空)为一个元组,其后的字符串不会被算入。
4、在long_options里,long_options是一个列表,举例来说,为了使'size'和'1024'组成一个元组,应为'size=',(注意在这里有一个‘=’号),因为'help'后不接参数,所以应为'help'(这里没有'='号)。
5、无论是options,还是long_options,选项的'-'号在getopt里也会存在。

posted @ 2012-11-29 14:45  事件轮询,回不到过去  阅读(296)  评论(0编辑  收藏  举报