python的命令解析getopt.getopt()函数分析

【转自http://hi.baidu.com/javalang/blog/category/Python】

可以参考http://docs.python.org/lib/module-getopt.html

 

# -*- coding: cp936 -*-
import getopt
import sys

def usage():
    print '''Help Information:
    -h: Show help information
    -xValue:
    ...'''

if __name__=='__main__':
    #set default values
    x=1
    y='y'

    try:
        print sys.argv[1:]
        opts,args=getopt.getopt(sys.argv[1:],'hx:y:d')
        #opts 是带-选项的参数
        #args 是没有选项的参数
        print opts
        print args
        #h表示使用-h,h选项没有对应的值
        #x:表示你要使用-xValue,x选项必须有对应的值.
    except getopt.GetoptError:
        #打印帮助信息并退出
        usage()
        sys.exit(2)
    #处理命令行参数
    for o,a in opts:
        if o=='-h':
            usage()
            sys.exit()
        if o=='-x':
            try:
                x=x+int(a) #注意默认a为字符串
            except ValueError:
                print 'Invalid Value'
            print x
        if o=='-d':
            print 'use -d'
        if o=='-y':
            y=y+a

运行结果:
getopt_example.py -x12 -y ss -d sdf s123
['-x12', '-y', 'ss', '-d', 'sdf', 's123']
[('-x', '12'), ('-y', 'ss'), ('-d', '')]
['sdf', 's123']
13
use -d

你可能感兴趣的:(python)