python 默认ascii 编码,需要添加声明文件编码注释
# -*- coding: utf-8 -*-
OptionParser
模块用于处理命令行参数:
optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。
引入
from optparse import OptionParser
创建OptionParser实例
usage= 'usage: %prog [options] arg'
version="%prog 1.0"
parser = OptionParser(usage=usage,version=version)
上面的%prog(自动解析为文件名)
如果用户没有提供自定义的使用方法信息,optparse 会默认使用: “usage: %prog [options]”, 当使用version参数的时候,optparse自动为你的解析器增加–version选项。
add_option()添加可解析命令
参数说明:
* action:工作方式,基本的有三种store、store_false、store_true,默认为store,是将命令行中你在-x 后面的输入存储到options字典中对应key的value位置。而store_false和store_true则是将相应的位置置为false和true
* type:类型(存储类型) 默认为string
* dest:存储的变量
* default:默认值
* help:帮助信息
parser.add_option("-f","--file",dest="filename",type="string",help="print file")
parser.add_option("-g","--give",action="store",type="int",dest="give",help="give int")
parser.add_option("-v", action="store_true", dest="verbose")
parser.add_option("-q", action="store_false", dest="verbose")
之后就是对输入进行解析啦
(options, args) = parser.parse_args()
输出有两个
options,一个对象包含所有选项的值,如,如果–file接受一个字符串参数,那么option.file 将是用户提供的文件名,如果用户没有提供选项值那它就是None.
args,位置参数列表解析后剩下的选项参数
这样OptionParser就配置完了,举个小例子
定义了5个命令,-c -f -g -v -q