我不确定optparse
的{{1}}参数是用来做什么的。我看到它四处使用,但我看不出它的用途。
有人能说清楚吗?感谢。
答案 0 :(得分:28)
正如@Guillaume所说,它用于产生帮助。如果要使用带参数的选项(例如文件名),可以将metavar
参数添加到add_option
调用,以便在帮助消息中输出首选参数名称/描述符。来自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"),
会产生这样的帮助:
usage: <yourscript> [options] arg1 arg2
options:
-f FILE, --filename=FILE
“ - f”之后的“FILE”和“--filename”来自metavar。
答案 1 :(得分:5)
答案 2 :(得分:0)
metavar
是用于在选项后的屏幕中打印的变量。通常用于选项后的建议输入为用户FILE
或INT
或STRING
。如果没有metavar
,optparse
将在您添加的选项后打印dest
值。
答案 3 :(得分:0)
对metavar有另一种有意义的用法,其中一个人希望使用'dest'作为参数lookup-tag,但是通过metavar掩盖帮助消息。 (例如,使用subparser时有时很方便)。 (如S.Lott的评论所示)。
parser.add_argument(
'my_fancy_tag',
help='Specify destination',
metavar='helpful_message'
)
或同样
parser.add_argument(
dest='my_fancy_tag',
help='Specify destination',
metavar='helpful_message'
)
帮助将显示metavar:
./parse.py -h usage: parser [-h] destination
positional arguments:
helpful_message Specify destination
但是dest会在命名空间中存储fancy_tag:
./parse.py test
Namespace(my_fancy_tag='test')
答案 4 :(得分:0)