基于互斥组参数的条件子解析器
conditional subparser based on mutually exclusive group argument
我正在使用我的代码扩展 credstash 中的代码:
https://github.com/willcrain1/credstash
我的问题是我想添加一个必需的参数,但前提是您 select -b 作为互斥项之一(您必须提供存储桶名称以及 'credstash' 名称)所以 s3 需要 2 个参数,其中 dynamodb - -t 参数只需要一个(只是 table 名称)。
现在代码已经包含了您要执行的操作的子解析器。我是 python 的新手,也是 argparse 的新手,所以任何有关如何添加条件参数 -c Credstash 但仅在使用 -b 时的有效方法的建议都值得赞赏。
usage: credstash [-h] [-r REGION] [-b BUCKET | -t TABLE] [-p PROFILE | -n ARN]
{delete,get,getall,list,put,setup} ...
从我的评论中复制:
尝试为 -b
设置 nargs=2
。然后用法看起来像
[-b BUCKET BUCKET | -t TABLE]
添加 metavar=('bucket', 'credstash')
(元组,而不是列表)应将用法更改为:
[-b bucket credstach | -t TABLE]
我正在使用我的代码扩展 credstash 中的代码:
https://github.com/willcrain1/credstash
我的问题是我想添加一个必需的参数,但前提是您 select -b 作为互斥项之一(您必须提供存储桶名称以及 'credstash' 名称)所以 s3 需要 2 个参数,其中 dynamodb - -t 参数只需要一个(只是 table 名称)。
现在代码已经包含了您要执行的操作的子解析器。我是 python 的新手,也是 argparse 的新手,所以任何有关如何添加条件参数 -c Credstash 但仅在使用 -b 时的有效方法的建议都值得赞赏。
usage: credstash [-h] [-r REGION] [-b BUCKET | -t TABLE] [-p PROFILE | -n ARN]
{delete,get,getall,list,put,setup} ...
从我的评论中复制:
尝试为 -b
设置 nargs=2
。然后用法看起来像
[-b BUCKET BUCKET | -t TABLE]
添加 metavar=('bucket', 'credstash')
(元组,而不是列表)应将用法更改为:
[-b bucket credstach | -t TABLE]