# 6.20 `optparse` -- Powerful parser for command line options.

New in version 2.3.

The `optparse` module is a powerful, flexible, extensible, easy-to-use command-line parsing library for Python. Using `optparse`, you can add intelligent, sophisticated handling of command-line options to your scripts with very little overhead.

Here's an example of using `optparse` to add some command-line options to a simple script:

    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()

With these few lines of code, users of your script can now do the ``usual thing'' on the command-line:

    $ <yourscript> -f outfile --quiet
    $ <yourscript> -qfoutfile
    $ <yourscript> --file=outfile -q
    $ <yourscript> --quiet --file outfile

(All of these result in `options.filename == "outfile"` and `options.verbose == False`, just as you might expect.)

Even niftier, users can run one of

    $ <yourscript> -h
    $ <yourscript> --help

and `optparse` will print out a brief summary of your script's options:

    usage: <yourscript> [options]

    options:
      -h, --help           show this help message and exit
      -fFILE, --file=FILE  write report to FILE
      -q, --quiet          don't print status messages to stdout

That's just a taste of the flexibility `optparse` gives you in parsing your command-line.