gpt4 book ai didi

python argparse 帮助消息,为短选项禁用元变量?

转载 作者:太空狗 更新时间:2023-10-30 01:08:15 25 4
gpt4 key购买 nike

我想构造一个 argparser 帮助消息,如下所示:

-i, --input=INPUT    help for input
-o, --output=output help for output

我当前的代码:

arg_parser = argparse.ArgumentParser
arg_parser.add_argument('-i', '--input', dest='input', metavar='=INPUT', help='help for input')
arg_parser.add_argument('-o', '--output', dest='output', metavar='=OUTPUT', help='help for output')
arg_parser.print_help()

给了我

-i =INPUT, --input =INPUT    help for input
-o =INPUT, --output =output help for output

我只是想知道如何摆脱空头和多头选项之间的东西。

最佳答案

Don't show long options twice in print_help() from argparse

本质上问的是同一件事。如果您不想编写自己的 HelpFormatter 子类(它可能需要更改一种方法),您需要使用现有的格式化工具 - 帮助、元变量和描述。

这里还有 argparse help without duplicate ALLCAPS

How do I avoid the capital placeholders in python's argparse module?

对于那个 88275023 问题,我解决了(但没有发布)这个 Formatter 类。变化接近尾声

class CustomFormatter(argparse.HelpFormatter):
def _format_action_invocation(self, action):
if not action.option_strings:
metavar, = self._metavar_formatter(action, action.dest)(1)
return metavar
else:
parts = []
# if the Optional doesn't take a value, format is:
# -s, --long
if action.nargs == 0:
parts.extend(action.option_strings)

# if the Optional takes a value, format is:
# -s ARGS, --long ARGS
# change to
# -s, --long ARGS
else:
default = action.dest.upper()
args_string = self._format_args(action, default)
for option_string in action.option_strings:
#parts.append('%s %s' % (option_string, args_string))
parts.append('%s' % option_string)
parts[-1] += ' %s'%args_string
return ', '.join(parts)

关于python argparse 帮助消息,为短选项禁用元变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23936145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com