提案された複製、Python's argparse choices constrained printing は、比較的複雑な解決策を提示します - カスタムHelpFormatter
。またはカスタムtype
。
高い投票の質問/答えはあなたが[argparse] choices
検索でより多くを見つけることができますPython argparse: Lots of choices results in ugly help output
です。
最も簡単な解決策は、metavar
パラメータを設定することです。 None
choices
スロットに何も表示されますが、あなたはおそらく、私はそこにそれらを一覧表示するヘルプの%(choices)s
を含ま
In [8]: styles=['one','two','three','four']
In [10]: parser = argparse.ArgumentParser()
In [11]: parser.add_argument('--styles', metavar='STYLE', choices=styles,
...: help='list of choices: {%(choices)s}')
Out[11]: _StoreAction(option_strings=['--styles'], dest='styles', nargs=None, const=None, default=None, type=None, choices=['one', 'two', 'three', 'four'], help='list of choices: {%(choices)s}', metavar='STYLE')
In [12]: parser.print_help()
usage: ipython3 [-h] [--styles STYLE]
optional arguments:
-h, --help show this help message and exit
--styles STYLE list of choices: {one, two, three, four}
短い単語にしたいです。もちろん、そこにあなた自身の要約を入れることができます。長いリストは、usage
よりもよくフィットします。
これは前に既に尋ねられました。リンクされた質問に示すように、カスタムヘルプフォーマッタを使用する必要があります。 – Bakuriu
ありがとうGoogleとは何の結果も得られませんでした。しかし、リンクされた答えの両方のソリューションは複雑すぎます。私は選択肢を削除するだけです。 – vedar
私の提案: 'choices'を使わず、与えられたオプションが選択肢であるかどうかを手動で確認してください。利用可能なスタイルの名前のリストを出力する '--help-styles'のようなオプションを提供して、ユーザがサポートされている選択肢のリストにアクセスできるようにします。 – Bakuriu