Python2.7 标准库 optparse 强大的命令行参数解析器

Python2.7的optparse库提供了一种强大的方式来解析命令行参数,它易于扩展且功能丰富。官方文档中包含了详细的使用示例,帮助开发者更好地理解和应用该库。
摘要由CSDN通过智能技术生成

标准库名为optparse,在官方文档中对optparse的描述是:一个强大的,扩展性强的,易用的命令行参数解析工具。附上官方文档中的使用实例:

from optparse import OptionParser
    
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename",
                  help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",
                  action="store_false", dest="verbose", default=True,
                  help="don't print status messages to stdout")
(options, args) = parser.parse_args()
调用程序如下:
<yourscript> --file=outfile -q
optparse库中共定义了13个类,如下图所示,缩进代表的是继承关系,如BadOptionError类继承自OptParseError类。其中5个类用于处理命令行中会出现的错误。如输入不存在的命令参数,命令行参数之间存在冲突等等,3个类用于处理帮助信息的输出格式,在此不仔细说明。接下来主要介绍3个类的内容及使用方法。
exceptions.Exception(exceptions.BaseException)
    OptParseError
        BadOptionError
        OptionError
            OptionConflictError
            OptionValueError
HelpFormatter
    IndentedHelpFormatter
    TitledHelpFormatter
Option
OptionContainer
    OptionGroup
    OptionParser
Values
首先从OptionParser说起,它是对命令行解析的最主要的类,想要读取解析命令行参数,首先要创建一个OptionParser类的实例:
from optparse import OptionParser
parser = OptionParser()
OptionParser类的属性及默认值如下:
parser = OptionParser(usage="%prog [options]", version=None, description=None, conflict_handler="error",
		              add_help_option=True, prog=os.path.basename(sys.argv[0]), epilog=None, 
		              formatter=IndentedHelpFormatter, option_list=[], option_class=optparse.Option)
详细介绍:
OptionParser.usage: 程序的使用信息。当调用程序帮助时显示的帮助信息,一般是显示在最前面,默认值为“%prog [options] version=None”,其中的%prog类似于一个隐式的格式化字符串,默认值为sys.argv[0],也就是调用的程序名称。这个%prog也可以用在description参数中。
OptionParser.version : 程序的版本信息。默认为None,如果提供参数,会自动生成 --version 命令参数,可以直接程序名加--version就能看到这个信息。
OptionParser.description: 程序的功能信息。默认为None,显示帮助信息时,显示在usage之后,options之前。
OptionParser.prog: 用于usage,description中%prog的显示,默认为程序名称,可以自己修改参数。
OptionParser.epilog: 程序的附加信息。默认为None显示帮助信息时,显示在options之后。
OptionParser.formatter: 程序帮助信息的显示格式,默认为IndentedHelpFormatter。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值