我正在使用我的代码扩展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} ...
答案 0 :(得分:1)
从我的评论中复制:
尝试为nargs=2
设置-b
。用法看起来像
[-b BUCKET BUCKET | -t TABLE]
添加metavar=('bucket', 'credstash')
(元组,而非列表)应将用法更改为:
[-b bucket credstach | -t TABLE]