import sys
import sys
import os
from optparse import OptionParser
usage = "usage: %prog [options] arg1 arg2"
parser = OptionParser(usage=usage)
parser.add_option("-m", "--mode",
type="int", default=1, help="Mode Selection"),
parser.add_option("-n", "--name",
#type="string", #default string type
help="Name"),
parser.add_option("-v", "--verbose",
action="store_true", dest="verbose", default=True,
help="make lots of noise [default]")
parser.add_option("-q", "--quiet",
action="store_false", dest="verbose",
help="be vewwy quiet (I'm hunting wabbits)")
(options, args) = parser.parse_args()
print "Require Arguments:"
for i in range(len(args)):
print args[i]
print "Optional Arguments:"
print "mode: %i"%options.mode
print "name: %s"%options.name
print "verbose: %s"%options.verbose
命令行参数解释1. 合理的调用格式为
script.py [-flag1 value1] [-flag2] [arg1] [arg2]
注1:
-flag1 value1 为 option
-flag2 为不带值的 option
arg1 为不能少的参数
注2:-flag1 value1 的具体情况
-m 1
-m1
--mode 1
--mode=1
都可以
2. add_option
1)
action 默认为 store 即把解释得到的参数值存入变量
其他选项为
store_true 针对bool变量,存为 ture
store_false
store_true/false 的作用是(e.g.,)
只需用
-v
就可以存成 true, 而不用
-v true
注意 -v -q 变量为同一个
2)
dest 变量名
默认为长的flag, 比如
add_option("-m", "--mode",...)默认为 options.mode若没有长的 flag,默认为短的,比如
add_option("-m",...)默认为 options.m3)
type 类型
默认为 string
3.
(options, args) = parser.parse_args()
args 为强制的参数,即不带 flag 的参数
以上的程序的结果
E:\python\examples>python option_parse.py -m 3 -n Kevin -q input.txt output.txt Require Arguments: input.txt output.txt Optional Arguments: mode: 3 name: Kevin verbose: False
0 comments:
Post a Comment