如何使 argparse 在开始使用 -h 和 --help 时不提及它们

问题描述 投票:0回答:1

使用 --help 运行时,帮助输出包括 --help 参数本身的描述。如何在 --help 的输出中避免该行?

我无法让这个答案工作,如以下代码在使用 python 3.10 运行时演示的那样:

import argparse
if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        add_help=False,
        description=f'does foo')
    parser.add_argument('--bar', type=str, required=True, help='the bar value')
    args = parser.parse_args()

使用 --help 运行上述脚本文件的结果是一条错误消息,而不是没有 --help 选项的帮助消息:

usage: scratch_54.py --bar BAR
scratch_54.py: error: the following arguments are required: --bar

我希望避免帮助选项在其自己的输出中自引用自身,同时让帮助消息的其余部分像往常一样运行。

argparse
1个回答
0
投票

试试这个:

parser = argparse.ArgumentParser(
    add_help=False,
    description=f'does foo',
)
parser.add_argument("-h,", "--help", action="help", help=argparse.SUPPRESS)

帮助操作仍然存在,并且照常工作,但它将从帮助文本本身中隐藏。

© www.soinside.com 2019 - 2024. All rights reserved.