如何在 argparse 帮助输出中仅抑制参数的长格式?

How to suppress only the long form of an argument in the argparse help output?

当我使用 argparse 时,例如:

from argparse import ArgumentParser
parser = ArgumentParser()
parser.add_argument("-i", "--input", action="store")

那么帮助菜单是这样的:

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

options:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        input file

我不想要这里的--input INPUT怎么办?像这样:

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

options:
  -h, --help            show this help message and exit
  -i INPUT              input file

add_argument 中删除 --input 以删除该选项并添加 dest='input' 以在帮助文本中保留 INPUT

parser.add_argument("-i", dest='input', action="store")

您可以有两个具有相同目标属性的选项,并使用 argparse.SUPPRESS 隐藏其中一个的帮助文本。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-i", dest="input", action="store")
parser.add_argument("--input", dest="input", action="store", help=argparse.SUPPRESS)

设置用于存储值的dest名称:

from argparse import ArgumentParser                                             
parser = ArgumentParser()                                                       
parser.add_argument("-i", dest="input", help="input file", action="store")      
parser.parse_args()