源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Python命令行参数解析模块optparse使用实例

  • 时间:2022-04-18 12:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python命令行参数解析模块optparse使用实例
[b]示例 [/b]
[u]复制代码[/u] 代码如下:
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()
[b]增加选项(add_option()) [/b]
[u]复制代码[/u] 代码如下:
OptionParser.add_option(option) OptionParser.add_option(*opt_str, attr=value, ...)
[b]定义短选项 [/b]
[u]复制代码[/u] 代码如下:
parser.add_option(“-f”, attr=value, …)
[b]定义长选项 [/b]
[u]复制代码[/u] 代码如下:
parser.add_option(“–foo”, attr=value, …)
如果定义
[u]复制代码[/u] 代码如下:
​parser.add_option("-f", "--file", action="store", type="string", dest="filename")
命令行格式可以有以下形式
[u]复制代码[/u] 代码如下:
-ffoo -f foo --file=foo --file foo
解析后结果
[u]复制代码[/u] 代码如下:
options.filename = “foo”
解析(parse_args())
[u]复制代码[/u] 代码如下:
(options, args) = parser.parse_args()
options 解析后的参数,以字典形式保存 args 不能解析的参数,以列表形式保存 [b]行为(action)[/b] ●store 默认行为,保存值到dest ●“store_const” 保存常量 ●“append” append this option's argument to a list ●“count” increment a counter by one ●“callback” call a specified function [b]设置默认值(default) [/b]
[u]复制代码[/u] 代码如下:
parser.add_option("-v", action="store_true", dest="verbose", default=True) parser.set_defaults(verbose=True)
[b]生成帮助提示(help)[/b] 提供help选项即可,可以用parser.print_help()打印出来
[u]复制代码[/u] 代码如下:
parser.add_option(“-f”, “–file”, dest=”filename”,help=”write report to FILE”, metavar=”FILE”)
[b]设置boolean值[/b] 支持store_true和store_false两个行为
[u]复制代码[/u] 代码如下:
parser.add_option("-v", action="store_true", dest="verbose") parser.add_option("-q", action="store_false", dest="verbose")
如果遇到-v,verbose=True;如果遇到-q,verbose=False [b]错误处理 [/b]
[u]复制代码[/u] 代码如下:
(options, args) = parser.parse_args() [...] if options.a and options.b:     parser.error("options -a and -b are mutually exclusive")
[b]选项组(Grouping Options)[/b] 格式如下 class optparse.OptionGroup(parser, title, description=None)
[u]复制代码[/u] 代码如下:
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)
提示结果如下
[u]复制代码[/u] 代码如下:
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.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部