带有 ArgumentDefaultsHelpFormatter 和 RawTextHelpFormatter 的 Python Argparse

艾伦

我在 Python 2.7 中使用 argparse 我想用它RawTextHelpFormatter来获取尾声中的换行符 ArgumentDefaultsHelpFormatter获取默认帮助中显示的默认值。

例如,如果 ArgumentParser 的结语部分是:

 epilog="first line\n second line"

并且有争论:

group.add_argument(
    "-d",
    "--development",
    action="store_true",
    dest="build_dev",
    default="False",
    help="Build development code",
)
group.add_argument(
    "-p",
    "--production",
    action="store_true",
    dest="build_prod",
    default="False",
    help="Build production release",
)

帮助输出应该是:

   -d, --development   Build development code (default: False)
   -p, --production    Build production release (default: False)
first line
second line

有没有办法做到这一点?

保利

default在帮助中插入你自己的:

In [324]: parser = argparse.ArgumentParser(formatter_class=argparse.RawTextHelpFormatter, 
     ...:    epilog="first line\n second line") 
     ...: group = parser.add_argument_group('test') 
     ...: group.add_argument( 
     ...:     "-d", 
     ...:     "--development", 
     ...:     action="store_true", 
     ...:     dest="build_dev", 
     ...:     default="False", 
     ...:     help="Build development code (default: %(default)s)", 
     ...:  ) 
     ...: group.add_argument( 
     ...:     "-p", 
     ...:     "--production", 
     ...:     action="store_true", 
     ...:     dest="build_prod", 
     ...:     default="False", 
     ...:     help="Build production release (default: %(default)s", 
     ...:  )                                                                                           
Out[324]: _StoreTrueAction(option_strings=['-p', '--production'], dest='build_prod', nargs=0, const=True, default='False', type=None, choices=None, help='Build production release (default: %(default)s', metavar=None)
In [325]: parser.print_help()                                                                          
usage: ipython3 [-h] [-d] [-p]

optional arguments:
  -h, --help         show this help message and exit

test:
  -d, --development  Build development code (default: False)
  -p, --production   Build production release (default: False

first line
 second line

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

argparse:带有MetavarTypeHelpFormatter的ArgumentDefaultsHelpFormatter

Python argparse:带有可选和位置参数的互斥参数

带有选择的Python argparse

Argparse和ArgumentDefaultsHelpFormatter。选择sys.stdin / stdout作为默认值时的默认值格式

Python:带有列表列表的Argparse

带有argparse的Python单元测试

带有默认选项的python argparse选项

带有args行为的Python argparse错误

Python中带有argparse的可选stdin

带有Nagios检查的Python argparse

Python argparse带有标志的选择参数的正确格式

Python argparse:如何引用带有破折号的参数

带有强制输入文件参数的python argparse

Python sys.argv和argparse

Python-docopt和argparse之间的区别

Python 3.7 中的 conda 和 argparse 冲突

Python:Argparse-必需和可选参数

ArgumentParser Epilog和描述格式与ArgumentDefaultsHelpFormatter结合使用

--option和nargs ='有什么区别?在Python的argparse模块中?

为带有子命令的命令和子命令请求的 argparse 解决方案

带有argparse的Python中的一个参数如何有可变数量的参数?

如何使用Python的argparse解析带有两个参数的可重复选项?

带有自定义formatter_class的Python 2.7.5 argparse.add_argument()神秘失败

带有Python和Seaborn的种群酰胺

带有和不带括号的python断言

带有 Python 3.7 和 Matplotlib 的 LaTeX

带有Leaflet和Python后端的TimeDimension

带有*和**的Python re.findall

带有python和pygame的OpenGL模型