argparse
引数がいくつかのプリセット値の 1 つであることを要求することは可能ですか?
私の現在のアプローチは、引数を手動で調べ、それが許可された値の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)
これは特に難しいというわけではなく、むしろ面倒に見えるということです。