如何使用argparse解析开/关(调试)标志?

时间:2012-11-16 11:09:33

标签: python argparse

我的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是一个开/关参数。

我该怎么办?

1 个答案:

答案 0 :(得分:4)

改为使用store_true操作:

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

nargs='?'只应用于带有一个或多个参数的选项(回退到默认值)。