模仿 AWS CLI / gcloud 命令行参数
Posted
技术标签:
【中文标题】模仿 AWS CLI / gcloud 命令行参数【英文标题】:Mimicking AWS CLI / gcloud command line args 【发布时间】:2018-08-20 23:18:09 【问题描述】:我有用于与 Auth0 交互的实用程序脚本。我想将它们组合成一个类似于 gcloud 和 awscli 的工具:
$ gcloud [module] [commands & args]
$ aws cloudformation validate-template --template-body file://test.yml
$ auth0 user add --email [EMAIL] ...
$ auth0 connection backup --connection [CXD_ID]
$ auth0 [user | connection | client | ...]
我认为我不能使用 argparse 来做到这一点,因为它将没有前导破折号的 args 视为强制性位置 args,但我当然不是专家。
【问题讨论】:
可能是子命令? docs.python.org/3/library/argparse.html#sub-commands 就是这样。或者我认为就是这样。在我所有的搜索中,我从未想过要搜索“子命令”。谢谢! 没问题。我不确定第三方是否是一个选项,但如果是这样,你可能也想看看点击:click.pocoo.org/6/commands 从您的示例中,尚不完全清楚哪些字符串是带或不带前缀的键(或标志),以及哪些是字符串的名称。 【参考方案1】:@delirious-lettuce 提供了答案:argparse 中的子命令。经验教训:在发布到 SO 之前阅读所有文档。
相关:
https://docs.python.org/3/library/argparse.html#sub-commands
How to parse multiple nested sub-commands using python argparse?
【讨论】:
以上是关于模仿 AWS CLI / gcloud 命令行参数的主要内容,如果未能解决你的问题,请参考以下文章
Mac安装aws-cli全过程,通过命令行上传文件到aws s3协议服务器
减少 gcloud Google Compute Platform CLI 冗长
AWS:使用 Elastic Beanstalk 命令行界面 (EB CLI) 3.x SSH 到 EC2