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.m
3)
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