当前位置: 首页 > 面试题库 >

python argparse帮助消息,为短选项禁用metavar吗?

郎言
2023-03-14
问题内容

我想构造一个如下所示的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

我只想知道如何摆脱长短期权之间的麻烦。


问题答案:

对于这个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)


 类似资料:
  • 一、简介 1、会员之间的短消息来往 2、管理员的群发短消息推送 3、会员投稿送审的反馈结果(也可以应用于其它功能需求里,当然这个要进行二次开发) 二、功能演示 1.群发短消息 顾名思义,是群发短消息给不同的群组。这里会涉及到群组问题。这里需要配置一下,请转到用户组页面(位置:用户 > 会员组管理 > 管理会员组 >)就能看懂了。 具体如下图: 2.群发短消息管理 3.发送短消息(针对指定用户,不能

  • 我正在使用Apache Commons CLI。默认情况下,它在命令行中按字母顺序按键排列帮助选项。因此,出现的情况是: 但是我想订购它们如下: 我知道有一个OptionFor事体类可以使用并传递给HelpFor事体,但是在上面(http://www.marko.homeunix.org/programming/java/commons-cli/api/org/apache/commons/cli

  • 问题内容: 快速的问题,我已经开发了3种不同深度的AI。 当前,要选择要与之对抗的AI,必须进入一个名为Main.java的java文件,并将其更改为所需的任何一个。更改的行是: 我想允许用户在游戏开始时有一个选择,以选择希望通过界面获得帮助的AI,我在想像JOptionpane这样的东西可能会起作用。 (我只是不确定如何为AI选择做一个) 当前的AI ai1 ai2 ai3 谢谢你的帮助。 问题

  • 问题内容: 这是情况。我有两个表: 用户(网站的注册用户), 消息(彼此之间发送的个人消息) 消息表具有以下列(仅是重要的列): ID, 发件人(发送消息的用户的ID), 发送消息的用户的接收者ID), reply_to(此消息要回复到的消息的ID,可以为NULL) 我需要做的是构造一个SELECT查询,该查询将选择2个用户之间的完整对话。即,如果用户A回复了从用户B发送的消息,而用户B回复了该消

  • 主要内容:Eclipse 悬停帮助信息Eclipse 悬停帮助信息 Java 编辑器与不同类型的悬停相关联。悬停提供有关鼠标指针下元素的附加信息。与 Java 编辑器关联的所有悬停都可以在 Java 编辑器悬停首选项页面中看到。 在 Java 编辑器中,将鼠标指针放在要导入的类上会显示与该类关联的 Java 文档。 将鼠标指针放在方法上会显示该方法的 java 文档。

  • 本文向大家介绍winforms 使用帮助类显示帮助,包括了winforms 使用帮助类显示帮助的使用技巧和注意事项,需要的朋友参考一下