【问题标题】:Removing dest variable from help text从帮助文本中删除 dest 变量
【发布时间】:2019-08-25 01:36:39
【问题描述】:

使用 argparse 时,我的程序的帮助对话框显示 dest 变量。如何删除它?

我尝试了 add_help=False 对象,但这只是完全删除了该选项的帮助对话框。

parser = argparse.ArgumentParser()

parser.add_argument("-i", "--interface", dest="interface", help="foo")
parser.add_argument("-m", "--mac", dest="mac", help="bar")

我在可选参数旁边使用 INTERFACE 和 MAC 得到以下结果:

usage: test.py [-h] [-i INTERFACE] [-m MAC]

optional arguments:
  -h, --help            show this help message and exit
  -i INTERFACE, --interface INTERFACE
                        foo
  -m MAC, --mac MAC     bar

如何从我的输出中删除 DEST 值?

【问题讨论】:

  • 请向我们展示观察到的和期望的输出。
  • 使用metavar 参数。
  • 我在 Python 2 和 3 中运行了你的代码。它似乎没有在帮助文本中显示 dest 变量。您是否将标志(--interface--mac)误认为是 dest 变量?

标签: python argparse


【解决方案1】:

按照@hpaulj 的建议,您可以将每个参数的metavar 参数设置为空字符串

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("-i", "--interface", dest="interface", help="foo", metavar='')
parser.add_argument("-m", "--mac", dest="mac", help="bar", metavar='')

parser.parse_args()

会输出如下结果:

usage: test.py [-h] [-i] [-m]

optional arguments:
  -h, --help         show this help message and exit
  -i , --interface   foo
  -m , --mac         bar

让我知道这是否是您所期望的输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2022-11-20
    • 1970-01-01
    • 2017-11-06
    • 2021-08-23
    相关资源
    最近更新 更多