我正在使用我的代码在credstash中扩展代码:
https://github.com/willcrain1/credstash
我的问题是,我想添加一个必需的参数,但是仅当您选择-b作为互斥之一时(您将必须提供存储桶名称以及'credstash'名称),因此s3需要2个参数,其中dynamodb--t参数只需要一个(只是表名)。
现在,该代码已经为您要采取的措施提供了次级解析器。我是python的新手,所以是argparse的新手,因此对如何添加条件参数-c Credstash(但仅当使用-b时)的有效方式的任何建议都值得赞赏。usage: credstash [-h] [-r REGION] [-b BUCKET | -t TABLE] [-p PROFILE | -n ARN] {delete,get,getall,list,put,setup} ...
最佳答案
从我的评论中复制:
尝试将nargs=2
设置为-b
。用法看起来像
[-b BUCKET BUCKET | -t TABLE]
添加
metavar=('bucket', 'credstash')
(元组,而不是列表)应将用法更改为:[-b bucket credstach | -t TABLE]
关于python - 互斥组参数的条件子解析器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42846369/