【问题标题】:Mimicking AWS CLI / gcloud command line args模仿 AWS CLI / gcloud 命令行参数
【发布时间】: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,但我当然不是专家。

【问题讨论】:

  • 就是这样。或者我认为就是这样。在我所有的搜索中,我从未想过要搜索“子命令”。谢谢!
  • 没问题。我不确定第三方是否是一个选项,但如果是这样,你可能也想看看点击:click.pocoo.org/6/commands
  • 从您的示例中,尚不完全清楚哪些字符串是带或不带前缀的键(或标志),以及哪些是字符串的名称。

标签: python python-3.x command-line-interface command-line-arguments argparse


【解决方案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?

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 2015-12-24
    • 2023-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多