python - 基于互斥组参数的条件子解析器

标签 python argparse credstash

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

https://github.com/willcrain1/credstash

我的问题是我想添加一个必需的参数,但前提是您选择 -b 作为互斥参数之一(您必须提供存储桶名称以及“credstash”名称),因此 s3 需要2 个参数,其中 dynamodb - -t 参数仅需要一个(仅表名称)。

现在,代码已经有了用于执行您想要执行的操作的子解析器。我对 python 很陌生,对 argparse 也很陌生,所以任何有关如何添加条件参数 -c Credstash 但仅在使用 -b 时的有效方法的建议都值得赞赏。

用法:credstash [-h] [-r REGION] [-b BUCKET | -t 表] [-p 配置文件 | -n ARN] {删除、获取、getall、列表、放置、设置} ...

最佳答案

从我的评论中复制:

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

[-b BUCKET BUCKET | -t TABLE]

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

[-b bucket credstach | -t TABLE]

关于python - 基于互斥组参数的条件子解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846369/

相关文章:

python - 替换python 3中的第一个字符串字符

python-2.7 - 我如何从本应在命令行上运行的脚本调用Python函数

python - 保存python argparse文件

python - 如何在删除项目的同时循环遍历 Python 列表,直到没有剩余项目为止

python - python 中除 time.sleep() 之外的其他创建延迟的方法

python - TensorFlow:向 LSTM 添加正则化

python - 使用 argparse 需要两个参数之一

aws-kms - AWS KMS 解密错误 Credstash

macos - brew 或 pip - 安装 credstash - 错误 - 在 taps/OSErr 中找不到命名公式 六-1.4.1-py2.7.egg-info 操作不允许