使用 --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
我希望避免帮助选项在其自己的输出中自引用自身,同时让帮助消息的其余部分像往常一样运行。
试试这个:
parser = argparse.ArgumentParser(
add_help=False,
description=f'does foo',
)
parser.add_argument("-h,", "--help", action="help", help=argparse.SUPPRESS)
帮助操作仍然存在,并且照常工作,但它将从帮助文本本身中隐藏。