6

私のCLIプログラムは、--debugフラグを使用してデバッグメッセージを出力するかどうかを決定します。が指定されている場合--debug、デバッグメッセージを出力する必要があります。それ以外の場合は、デバッグメッセージを出力しないでください。

私の現在のアプローチは次のとおりです。

parser.add_argument('--debug', help='print debug messages to stderr', nargs='?')

ただし、--helpメッセージは、このアプローチが私の目標を達成していないことを示唆しています。

optional arguments:
  -h, --help       show this help message and exit
  --debug [DEBUG]  print debug messages to stderr

ご覧のとおり、フラグの後に値が必要です。ただし、これ--debugはオン/オフの引数です。

代わりに何をすべきですか?

4

1 に答える 1

9

store_true代わりにアクションを使用してください:

parser.add_argument(
    '--debug',
    action='store_true', 
    help='print debug messages to stderr'
)

nargs='?'1つ以上の引数を取るオプションにのみ使用する必要があります(デフォルト値へのフォールバックを使用)。

于 2012-11-16T11:13:42.690 に答える