1

我正在用我的代码在这里扩展 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} ...

4

1 回答 1

1

从我的评论中复制:

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

[-b BUCKET BUCKET | -t TABLE]

添加metavar=('bucket', 'credstash')(tuple, not list) 应将用法更改为:

[-b bucket credstach | -t TABLE]
于 2017-03-17T06:20:20.853 回答