14.1.5.2カスタマイズされたヘルプ
アプリケーションの出力の助けを借りて直接対処する必要性については、ArgumentParserは、あなたが印刷には、追加情報が含まれている助けるためにカスタムアクションを作成することができますいくつかのツールに便利な方法を提供します。
import argparse
parser = argparse.ArgumentParser(add_help=True)
parser.add_argument('-a',action="store_true",default=False)
parser.add_argument('-b',action="store",dest="b")
parser.add_argument('-c',action="store",dest="c",type=int)
print('print_usage output:')
parser.print_usage()
print()
print('print_help output:')
parser.print_help()
print_usage()は、パラメータパーサとして、短い使用方法のメッセージを出力します、print_help()完全なヘルプ出力を表示します。
出力の外観を制御するのを助けるためにフォーマッタクラスを使用してArgumentParser。このクラスを変更するには、インスタンス化ArgumentParserでformatter_class渡すことができます。
import argparse
parser = argparse.ArgumentParser(
add_help=True,
formatter_class=argparse.RawDescriptionHelpFormatter,
description="""
description
not
warpped""",
epilog="""
epilog
not
wrapped"""
)
parser.add_argument(
'-a',action="store_true",
help="""argument
help is
wrapped
""",
)
parser.print_help()
コマンドの説明と、すべての文書がそのままエピローグに保存されます。
それは同じことを事前にフォーマットされたかのようにRawTextHelpFormatterは、すべてのヘルプテキストが扱われます。
import argparse
parser = argparse.ArgumentParser(
add_help=True,
formatter_class=argparse.RawTextHelpFormatter,
description="""
description
not
warpped""",
epilog="""
epilog
not
wrapped"""
)
parser.add_argument(
'-a',action="store_true",
help="""argument
help is not
wrapped
""",
)
parser.print_help()
ヘルプファイルに対応する-Aパラメータが適切に折り返されません。
いくつかの例で説明したいくつかのアプリケーションやエピローグでは、テキスト形式は、これらの例への変更は、もはや有効では、これらのアプリケーションのために、生のフォーマットが有用でないかもしれないことがあります。MetavarTypeHelpFormatterがありそのため、代わりに目標変数の、各オプションのタイプの名前を印刷する
オプションの異なる種類の多数のアプリケーションが有用であり得ます。
import argparse
parser = argparse.ArgumentParser(
add_help=True,
formatter_class=argparse.MetavarTypeHelpFormatter,
)
parser.add_argument('-i',type=int,dest='notshown1')
parser.add_argument('-f',type=float,dest="notshown2")
parser.print_help()
DEST値は表示されませんが、オプションに関連付けられているタイプの名前を表示します。