栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

自定义argparse帮助消息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自定义argparse帮助消息

首先:大写这些短语会违背常规,

argparse
实际上并没有工具来帮助您轻松更改这些字符串。您在这里有三种不同的字符串类:帮助格式化程序的样板文本,节标题和每个特定选项的帮助文本。所有这些字符串都可以本地化;您
可以
通过
gettext()
模块支持为所有这些字符串提供“大写”翻译。就是说,如果您有足够的决心,并且可以稍微阅读一下源代码,则可以深入并替换所有这些字符串。

version
操作包括默认
help
文本,但是您可以通过设置
help
参数来提供自己的文本。这同样适用于
help
行动;
如果将
add_help
参数设置为
False
,则可以手动添加该操作:

parser = argparse.ArgumentParser(add_help=False)parser.add_argument('-v', '--version', action='version',         version='%(prog)s 1.0', help="Show program's version number and exit.")parser.add_argument('-h', '--help', action='help', default=argparse.SUPPRESS,         help='Show this help message and exit.')

接下来,该

optional arguments
消息是 组标题
;每个解析器都有两个默认组,一个用于位置参数,另一个用于可选。您可以通过属性
_positionals
和来访问这些属性
_optionals
,这两个
title
属性都有一个属性:

parser._positionals.title = 'Positional arguments'parser._optionals.title = 'Optional arguments'

请注意 ,通过访问以下划线开头的名称,您正在尝试使用未记录的模块私有API,并且您的代码可能会在以后的更新中中断。

最后,要更改

usage
字符串,您必须将帮助格式化程序子类化。将子类作为
formatter_class
参数传递:

class CapitalisedHelpFormatter(argparse.HelpFormatter):    def add_usage(self, usage, actions, groups, prefix=None):        if prefix is None: prefix = 'Usage: '        return super(CapitalisedHelpFormatter, self).add_usage( usage, actions, groups, prefix)parser = argparse.ArgumentParser(formatter_class=CapitalisedHelpFormatter)

演示,将所有这些放在一起:

>>> import argparse>>> class CapitalisedHelpFormatter(argparse.HelpFormatter):...     def add_usage(self, usage, actions, groups, prefix=None):...         if prefix is None:...  prefix = 'Usage: '...         return super(CapitalisedHelpFormatter, self).add_usage(...  usage, actions, groups, prefix)...>>> parser = argparse.ArgumentParser(add_help=False, formatter_class=CapitalisedHelpFormatter)>>> parser._positionals.title = 'Positional arguments'>>> parser._optionals.title = 'Optional arguments'>>> parser.add_argument('-v', '--version', action='version',...          version='%(prog)s 1.0', help="Show program's version number and exit.")_VersionAction(option_strings=['-v', '--version'], dest='version', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, help="Show program's version number and exit.", metavar=None)>>> parser.add_argument('-h', '--help', action='help', default=argparse.SUPPRESS,...          help='Show this help message and exit.')_HelpAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, help='Show this help message and exit.', metavar=None)>>> print(parser.format_help())Usage: [-v] [-h]Optional arguments:  -v, --version  Show program's version number and exit.  -h, --help     Show this help message and exit.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648008.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号