python 中的OptionParser的使用例子

来源:互联网 发布:医疗器械注册 知乎 编辑:程序博客网 时间:2024/06/03 15:26

python中的

#!/usr/bin/env python

# -*- encoding:utf-8 -*-

import sys
import signal
import datetime
import re
from optparse import OptionParser

VERSION="0.0.1"
usage = "usage: %prog [options] arg1 arg2"

def main():
    #print "this is test program"
    #print usage
    parser=OptionParser(usage)
    parser.add_option("-f", "--file", dest="filename",
                      action="store",help="read data from FILENAME")
    parser.add_option("-v", "--verbose",
                      action="store_true", dest="verbose")
    #args=['name','michael']
    args=['-f','file.txt','-v','good luck to you', 'arg2', 'arge']
    (options,argslist)=parser.parse_args(args)
    print argslist,len(argslist)
    print options
    print options.filename

if __name__ == "__main__":

    main()



add_option() 用于构造 option 配置,包括多个参数名称、构造方式(action)、类型(type)、主键名称(dest)、默认值(default)等。其中options是一个对象(optpars.Values),保存有命令行参数值。只要知道命令行参数名,如 file,就可以访问其对应的值: options.file 。

args 是parser.parse_args的位置参数,argslist是一个list,它是输入的args出去options中的内容后剩余的值,在这里的args中,'-f','file.txt','-v' 这些值就会被写进options中,剩余的'good luck to you', 'arg2', 'arge' 就会被存储在argslist中


上面程序的运行结果为:

['good luck to you', 'arg2', 'arge']   3
{'verbose': True, 'filename': 'file.txt'}
file.txt

0 0