我的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
是一个开/关参数。
我该怎么办?
答案 0 :(得分:4)
改为使用store_true
操作:
parser.add_argument('--debug', action='store_true', help='print debug messages to stderr')
nargs='?'
只应用于带有一个或多个参数的选项(回退到默认值)。