argparse
引数がいくつかのプリセット値の1つであることを要求することは可能ですか?
私の現在のアプローチは、引数を手動で調べ、許可された値のいずれでもない場合は、print_help()
を呼び出して終了することです。
現在の実装は次のとおりです。
...
parser.add_argument('--val',
help='Special testing value')
args = parser.parse_args(sys.argv[1:])
if args.val not in ['a','b','c']:
parser.print_help()
sys.exit(1)
これが特に難しいのではなく、面倒そうです。
Argparse引数は、choices
パラメーターを使用して特定の値に制限できます。
...
parser.add_argument('--val',
choices=['a','b','c'],
help='Special testing value')
args = parser.parse_args(sys.argv[1:])
詳細については、 docs を参照してください。