📜  Python中的Optparse模块(1)

📅  最后修改于: 2023-12-03 15:19:27.482000             🧑  作者: Mango

Python中的Optparse模块

简介

Optparse模块是python用于解析命令行参数的一个标准库,它的另外优点是它非常轻量级但功能非常强大,且易于使用。

特性

Optparse模块提供以下特性:

  • 大量的自定义选项类型支持,包括标志,标志参数,元组参数,复数参数等等。
  • 生成漂亮的帮助文档,并自动显示自定义类型的帮助信息。
  • 自动产生版本信息。
  • “分组”自定义选项,使在help输出中它们能够更清晰地分别显示。
  • 将它和POSIX/GNU命令行选项完全兼容,自动支持服务器和客户端类型。
优势

相对于python标准库的argparse,Optparse有以下优势:

  • 比argparse更加易于学习和使用。
  • 比argparse更加灵活,在处理自定义的选项上有着更好的支持。
使用示例

下面是一个简单的使用Optparse模块的代码示例:

import optparse

parser = optparse.OptionParser()

parser.add_option('-f', '--file', dest='filename', help='write report to FILE', metavar='FILE')
parser.add_option('-q', '--quiet', action='store_true', dest='quiet', help='be quiet (no output)', default=False)
parser.add_option('--incremental', action='store_true', dest='incremental', help='incremental report', default=False)

options, args = parser.parse_args()

if not options.filename:
    parser.error('Filename not given')
if options.quiet:
    print('No output will be generated')
print('Report will be written to %s' % options.filename)
if options.incremental:
    print('Incremental report will be generated.')

这个脚本定义了三个选项:-f/--file,-q/--quiet,--incremental,并使用parser.parse_args()即可解析命令行参数。

输出结果如下:

$ python optparse_test.py -h

usage: optparse_test.py [-h] [-f FILENAME] [-q] [--incremental]

optional arguments:
  -f FILENAME, --file FILENAME
                        write report to FILE
  -q, --quiet           be quiet (no output)
  --incremental         incremental report

$ python optparse_test.py --file report.txt --quiet --incremental
No output will be generated
Report will be written to report.txt
Incremental report will be generated.
参考