PEP proposal optparse

James jlnicolson at
Thu Sep 18 12:37:54 CEST 2008


I would like to know your thoughts on a proposed change to optparse
that I have planned. It is possible to add default values to multiple
options using the set_defaults. However, when adding descriptions to
options the developer has to specify it in each add_option() call.
This results in unreadable code such as:

    parser.add_option('-q', '--quiet'    , action="store_false",
        help = 'Output less information')
    parser.add_option('-o', '--output'   , type='string',
dest='castordir'       , metavar='<DIR>'       ,
        help = 'specify the wanted CASTOR directory where to store the
results tarball')
    parser.add_option('-r', '--prevrel'  , type='string',
dest='previousrel'     , metavar='<DIR>'       ,
        help = 'Top level dir of previous release for regression
analysis'             )

The same code could become much more readable if there was an
equivalent method of set_defaults for the description/help of the
option. The same code could then become:

        verbose          = 'Output less information',
        castordir        = 'specify the wanted CASTOR directory where
to store the results tarball',
        previousrel      = 'Top level dir of previous release for
regression analysis')

    parser.add_option('-q', '--quiet'    , action="store_false",
    parser.add_option('-o', '--output'   , type='string',
dest='castordir'       , metavar='<DIR>'       )
    parser.add_option('-r', '--prevrel'  , type='string',
dest='previousrel'     , metavar='<DIR>'       )

Help descriptions can often be quite long and separating them in this
fashion would, IMHO, be desirable.

Kind Regards,
James Nicolson

More information about the Python-list mailing list