43

--help でヘルプを表示するときに、Python の optparse にオプションまたはフラグのデフォルト値を出力させる方法はありますか?

4

5 に答える 5

55

%default文字列プレースホルダーを使用してみてください:

# This example taken from http://docs.python.org/library/optparse.html#generating-help
parser.add_option("-m", "--mode",
                  default="intermediate",
                  help="interaction mode: novice, intermediate, "
                       "or expert [default: %default]")
于 2009-08-10T12:01:33.253 に答える
8

指定したすべてのオプションにデフォルト値を自動的に追加する場合は、次のようにします。

for option in parser.option_list:
    if option.default != ("NO", "DEFAULT"):
        option.help += (" " if option.help else "") + "[default: %default]"
于 2012-08-10T17:16:52.270 に答える
7

また、デフォルト値へのプログラムによるアクセスが必要な場合defaultsは、パーサーの属性を介してアクセスできます (辞書です)。

于 2009-08-10T12:04:04.510 に答える
0

argparse.ArgumentDefaultsHelpFormatterをパーサーに追加します

    import argparse

    parser = argparse.ArgumentParser(
    description='Your application description',
    formatter_class=argparse.ArgumentDefaultsHelpFormatter)

ドキュメントから:

ArgumentDefaultsHelpFormatter は、デフォルト値に関する情報を各引数ヘルプ メッセージに自動的に追加します。

于 2017-01-12T15:53:15.827 に答える