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