argparse ヘルプテキストに改行を挿入するにはどうすればいいですか? 質問する

argparse ヘルプテキストに改行を挿入するにはどうすればいいですか? 質問する

私は使用していますargparsePython 2.7の場合入力オプションを解析します。オプションの1つは複数選択です。ヘルプテキストにリストを作成したいのですが、例えば

from argparse import ArgumentParser

parser = ArgumentParser(description='test')

parser.add_argument('-g', choices=['a', 'b', 'g', 'd', 'e'], default='a',
    help="Some option, where\n"
         " a = alpha\n"
         " b = beta\n"
         " g = gamma\n"
         " d = delta\n"
         " e = epsilon")

parser.parse_args()

ただし、argparse改行と連続するスペースはすべて削除されます。結果は次のようになります。

~/ダウンロード:52$ python2.7 x.py -h
使用法: x.py [-h] [-g {a,b,g,d,e}]

テスト

オプション引数:
  -h, --help このヘルプメッセージを表示して終了します
  -g {a,b,g,d,e} オプション。a = アルファ、b = ベータ、g = ガンマ、d = デルタ、e
                  = イプシロン

ヘルプテキストに改行を挿入するにはどうすればいいですか?

ベストアンサー1

使ってみるRawTextHelpFormatterすべての書式設定を保持するには:

from argparse import RawTextHelpFormatter
parser = ArgumentParser(description='test', formatter_class=RawTextHelpFormatter)

それは似ているRawDescriptionHelpFormatterただし、説明とエピローグにのみ適用されるのではなく、RawTextHelpFormatterすべてのヘルプ テキスト (引数を含む) にも適用されます。

おすすめ記事