我正在使用ArgumentDefaultsHelpFormatter打印解析器中每个参数的默认值。它在大多数情况下工作得很好,但是在下面的场景中我不能让它正常工作
parser.add_argument('--keep-subsets', dest='remove_subsets',
default=True, action='store_false',
help='Keep individual subsets')
默认的面向用户的行为是而不是保留子集,因此usage语句应该报告default: False
。但是,内部实现使用否定逻辑:一个名为remove_subsets
的变量,指示是否应该删除子集。上面的代码在usage语句中给出了以下内容
--keep-subsets Keep individual subsets (default: True)
当然,一种解决方案是从逻辑上否定内部实现,并传递一个keep_subsets
变量,而不是一个remove_subsets
变量。这将允许我们使用store_true
操作和default: False
,这将产生正确的usage语句
但是,假设搞乱内部实现不是一种选择,有没有一种方法可以正确处理这种情况
目前没有回答
相关问题 更多 >
编程相关推荐