Posted in Python onApril 13, 2015
示例
from optparse import OptionParser [...] def main(): usage = "usage: %prog [options] arg" parser = OptionParser(usage) parser.add_option("-f", "--file", dest="filename", help="read data from FILENAME") parser.add_option("-v", "--verbose", action="store_true", dest="verbose") parser.add_option("-q", "--quiet", action="store_false", dest="verbose") [...] (options, args) = parser.parse_args() if len(args) != 1: parser.error("incorrect number of arguments") if options.verbose: print "reading %s..." % options.filename [...] if __name__ == "__main__": main()
增加选项(add_option())
OptionParser.add_option(option) OptionParser.add_option(*opt_str, attr=value, ...)
定义短选项
parser.add_option(“-f”, attr=value, …)
定义长选项
parser.add_option(“?foo”, attr=value, …)
如果定义
parser.add_option("-f", "--file", action="store", type="string", dest="filename")
命令行格式可以有以下形式
-ffoo -f foo --file=foo --file foo
解析后结果
options.filename = “foo”
解析(parse_args())
(options, args) = parser.parse_args()
options 解析后的参数,以字典形式保存
args 不能解析的参数,以列表形式保存
行为(action)
●store 默认行为,保存值到dest
●“store_const” 保存常量
●“append” append this option's argument to a list
●“count” increment a counter by one
●“callback” call a specified function
设置默认值(default)
parser.add_option("-v", action="store_true", dest="verbose", default=True) parser.set_defaults(verbose=True)
生成帮助提示(help)
提供help选项即可,可以用parser.print_help()打印出来
parser.add_option(“-f”, “?file”, dest=”filename”,help=”write report to FILE”, metavar=”FILE”)
设置boolean值
支持store_true和store_false两个行为
parser.add_option("-v", action="store_true", dest="verbose") parser.add_option("-q", action="store_false", dest="verbose")
如果遇到-v,verbose=True;如果遇到-q,verbose=False
错误处理
(options, args) = parser.parse_args() [...] if options.a and options.b: parser.error("options -a and -b are mutually exclusive")
选项组(Grouping Options)
格式如下
class optparse.OptionGroup(parser, title, description=None)
group = OptionGroup(parser, "Dangerous Options", "Caution: use these options at your own risk. " "It is believed that some of them bite.") group.add_option("-g", action="store_true", help="Group option.") parser.add_option_group(group)
提示结果如下
Usage: <yourscript> [options] arg1 arg2 Options: -h, --help show this help message and exit -v, --verbose make lots of noise [default] -q, --quiet be vewwy quiet (I'm hunting wabbits) -f FILE, --filename=FILE write output to FILE -m MODE, --mode=MODE interaction mode: novice, intermediate, or expert [default: intermediate] Dangerous Options: Caution: use these options at your own risk. It is believed that some of them bite. -g Group option.
Python命令行参数解析模块optparse使用实例
- Author -
junjie声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@