基于互斥组参数的条件子算子

时间:2017-03-16 23:05:09

标签: python argparse credstash

我正在使用我的代码扩展credstash中的代码:

https://github.com/willcrain1/credstash

我的问题是我想添加一个必需的参数,但前提是你选择-b作为互斥的一个(你必须提供桶名和'credstash'名称),所以s3要求2个参数,其中dynamodb - -t参数只需要一个(只是表名)。

现在代码已经有了你想要采取什么行动的子分析器。我是python的新手,对argparse来说是新手,所以对于如何添加条件参数-c Credstash的有效方法的任何建议都是值得赞赏的。

usage: credstash [-h] [-r REGION] [-b BUCKET | -t TABLE] [-p PROFILE | -n ARN] {delete,get,getall,list,put,setup} ...

1 个答案:

答案 0 :(得分:1)

从我的评论中复制:

尝试为nargs=2设置-b。用法看起来像

[-b BUCKET BUCKET | -t TABLE]

添加metavar=('bucket', 'credstash')(元组,而非列表)应将用法更改为:

[-b bucket credstach | -t TABLE]