【问题标题】:Limiting Argparse Help Output限制 Argparse 帮助输出
【发布时间】:2016-08-01 10:58:31
【问题描述】:

我正在使用 argparse 来处理我正在开发的应用程序中的命令行参数。就目前而言,一切都像宣传的那样工作。但是,我对单个参数的帮助格式有疑问。

optional arguments:
  -k API_KEY, --key API_KEY
                        API Key to use when querying/updating records
  -e EMAIL, --email EMAIL
                        Email to use when querying/updating records

在上面的帮助格式中,我正在研究如何解决重复的参数变量名称(即-k API_KEY, --key API_KEY)。这似乎是多余的,并导致帮助格式位于多行而不是单个连续行。这是相关代码。

if __name__ == '__main__':
    parser=argparse.ArgumentParser(add_help=False)
    parser_required=parser.add_argument_group('Required Arguments')
    parser_required.add_argument('-k', '--key', dest='api_key', type=str, required=False, help='API Key to use when querying/updating records')
    parser_required.add_argument('-e', '--email', dest='email', type=str, required=False, help='Email to use when querying/updating records')

不过,我不完全确定如何实现这一目标。这是所需的输出。

optional arguments:
  -k, --key             API Key to use when querying/updating records
  -e, --email           Email to use when querying/updating records

【问题讨论】:

  • stackoverflow.com/questions/9366369/… 讨论了各种选项。除了最简单的metavar 解决方案外,您还可以自定义HelpFormatter 类。在几个 SO 问题中给出了如何做到这一点的建议。

标签: python-3.x argparse


【解决方案1】:

只需在每个参数中设置metavar=''

add_argument('-k', '--key', metavar='', ...)

在您的示例中,元变量是 API_KEYEMAIL

【讨论】:

    猜你喜欢
    • 2013-12-04
    • 2013-03-08
    • 2021-11-25
    • 2011-07-24
    • 2016-06-21
    • 2021-09-24
    • 2011-11-24
    • 2016-03-24
    • 2015-05-20
    相关资源
    最近更新 更多