Python argparseの値範囲付きヘルプメッセージの表示

Pythonのargparseモジュールでは、type引数に呼び出し可能オブジェクトを設定することで引数の値の範囲を制限できます。値の範囲を超えると、argparseは自動的にエラーメッセージを表示してプログラムを終了します。

ヘルプメッセージのルックアンドフィールを変更するには、metavarパラメータを使用して、ヘルプメッセージに表示されるパラメータ名を設定できます。以下に例を示します。

import argparse
# 创建一个ArgumentParser对象
parser = argparse.ArgumentParser()
# 添加一个参数,并设置值范围为1到10
parser.add_argument('--number', type=int, choices=range(1, 11), metavar='N',
help='an integer between 1 and 10')
# 解析命令行参数
args = parser.parse_args()

この例では、metavar=’N’は、ヘルプメッセージでパラメータ名を–numberではなく、Nとして表示します。ユーザーの入力値が範囲内にない場合、argparse は自動的に次のエラーメッセージを表示します。

usage: script.py [-h] [--number N]
script.py: error: argument --number: invalid choice: VALUE (choose from 1 to 10)

パラメータの名前とヘルプメッセージの外見に合わせて、metavar の値を必要に応じて変更できます。

bannerAds