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

7
我的CLI程序使用一个--debug开关来决定是否打印调试信息。当指定--debug时,应该会输出调试信息; 否则,就不应该输出调试信息。
我的当前方法是: parser.add_argument('--debug', help ='将调试信息打印到错误流中',nargs ='?') 然而,--help消息表明这种方法并不能实现我的目标:
optional arguments:
  -h, --help       show this help message and exit
  --debug [DEBUG]  print debug messages to stderr

正如你所看到的,它要求在标志后面输入一个值; 然而,--debug是一个开/关参数。

我应该怎么做呢?

1个回答

9
请使用store_true操作代替:
parser.add_argument(
    '--debug',
    action='store_true', 
    help='print debug messages to stderr'
)

nargs='?' 应只用于接受一个或多个参数的选项(若无参数则返回默认值)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接