26

optparsemetavarパラメーターが何に使用されるのかわかりません。あちこちで使われているように見えますが、その使用は見られません。

誰かが私にそれを明確にすることができますか? ありがとう。

4

5 に答える 5

30

@Guillaume が言うように、ヘルプの生成に使用されます。ファイル名などの引数を取るオプションが必要な場合は、metavarパラメーターをadd_option呼び出しに追加して、希望する引数名/記述子がヘルプ メッセージに出力されるようにすることができます。現在のモジュールのドキュメントから:

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」と「--filename」の後の「FILE」は、metavar に由来します。

于 2008-12-03T12:48:58.377 に答える
5

metavar はヘルプの生成に使用されているようです: http://www.python.org/doc/2.5.2/lib/optparse-generating-help.html

于 2008-12-03T12:42:52.977 に答える
0

引数lookup-tagとして'dest'を使用したいが、metavarによってヘルプメッセージをマスクしたいという、metavarの別の意味のある使用法があります。(たとえば、サブパーサーを使用する場合に便利な場合があります)。(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')
于 2012-07-10T15:37:11.113 に答える
0

metavarオプションの後に画面に表示するために使用される変数です。通常、オプションがFILEまたはINTまたはSTRINGユーザーへの後の提案入力に使用されます。を指定しないmetavarと、追加したオプションの後に値がoptparse出力destされます。

于 2010-10-07T13:43:56.233 に答える