有没有可能将argparse.ArgumentDefaultsHelpFormatter
的功能与argparse.MetavarTypeHelpFormatter
结合起来?在
在docs中有一些关于如何使用其中任何一个的示例,但是不清楚如何创建一个结合了两者优点的帮助文本?在
例如,我想要以下内容:
parser = argparse.ArgumentParser(prog='PROG')
parser.add_argument('--foo', type=int, default=42, help='FOO!')
parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!')
产生如下的东西:
^{pr2}$
理论上,您可以定义一个新的格式化程序类,它是其他两个类的子类。(我可以在开发人员建议的地方找到一个bug/问题。)这是否适用于这对代码需要在代码中进行测试或检查。基本上我们需要看看这两个类更改的方法是否兼容。在
生产
^{pr2}$注意,我还必须为位置指定一个
type
。否则我就有个错误:有了这个需求,我怀疑
MetavarTypeHelpFormatter
没有得到太多的使用。默认的“string”类型(None)将产生错误。这是一个方便的格式化程序类,可能会产生比它解决的问题更多的问题。在defaults
帮助格式化程序只向帮助字符串添加一个“(default:%(default)s)”字符串。你可以自己做。所以这只是一个方便班,不是任何人都需要的。在子类化这两个类的另一个选择是将它们的父类化,并包括这2个子类更改的所有方法。在
添加:
显示器
使用just
生产
相关问题 更多 >
编程相关推荐