I am not sure what optparse
's metavar
parameter is used for. I see it is used all around, but I can't see its use.
Can someone make it clear to me? Thanks.
I am not sure what optparse
's metavar
parameter is used for. I see it is used all around, but I can't see its use.
Can someone make it clear to me? Thanks.
As @Guillaume says, it's used for generating help. If you want to have an option that takes an argument, such as a filename, you can add the metavar
parameter to the add_option
call so your preferred argument name/descriptor is output in the help message. From the current module documentation:
usage = "usage: %prog [options] arg1 arg2"
parser = OptionParser(usage=usage)
parser.add_option("-f", "--filename",
metavar="FILE", help="write output to FILE"),
would produce help like this:
usage: <yourscript> [options] arg1 arg2
options:
-f FILE, --filename=FILE
The "FILE" after the "-f" and the "--filename" comes from the metavar.
metavar seems to be used for generating help : http://www.python.org/doc/2.5.2/lib/optparse-generating-help.html
metavar
is a variable used for print in the screen after option. Usually used for suggestion input after option are FILE
or INT
or STRING
to user. Without metavar
, optparse
will print dest
value after option you've been added.
There's another meaningful use of metavar where one desires to use 'dest' as the argument lookup-tag but mask the help message by metavar. (E.g. sometimes handy when using subparsers). (As indicated in the comment of S.Lott).
parser.add_argument(
'my_fancy_tag',
help='Specify destination',
metavar='helpful_message'
)
or equally
parser.add_argument(
dest='my_fancy_tag',
help='Specify destination',
metavar='helpful_message'
)
Help will show the metavar:
./parse.py -h usage: parser [-h] destination
positional arguments:
helpful_message Specify destination
but dest will store the fancy_tag in Namespace:
./parse.py test
Namespace(my_fancy_tag='test')
© 2022 - 2024 — McMap. All rights reserved.