是否可以更改 argparse 参数名称的显示文本 [英] is it possible to change display text of argparse argument name

查看:22
本文介绍了是否可以更改 argparse 参数名称的显示文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用 argparse 我制作了一个命令行工具,它采用以下参数,

用法:ipush [-h] [-v] [-c] [-to [TO]] [-V] [-p PATCHES] [-d DIFF]

从下面的代码..

parser = argparse.ArgumentParser(prog='ipush',description='用于推送最后一次提交并通过电子邮件发送颜色差异的实用程序')parser.add_argument('-v', '--verbose', action='store_true',help='if enabled 将吐出每个命令及其结果数据.')parser.add_argument('-c', '--compose', action='store_true',help='compose message 在默认的 git 编辑器中以 diff 为前缀发送)parser.add_argument('-to', type=validate_address, default=os.getenv('myemail'),help='输入您要发送到的有效电子邮件.', nargs='?')parser.add_argument('-V', '--version', action='version',version='%(prog)s 1.0')parser.add_argument('-p', '--patches', type=int, default=0,help='最后一次提交到电子邮件的路径总数')parser.add_argument('-d', '--diff', required=False, default='HEAD^ HEAD',help='if present 传递参数给它,因为你\将用引号括起来 git diff')

是否可以在 [-to [TO]] PATCHES 中显示 TO [-p PATCHES][-d DIFF]<中的 DIFF/code> 使用不同的文本?

解决方案

是的,如 argparse 文档:

<预><代码>>>>解析器 = argparse.ArgumentParser()>>>parser.add_argument('--foo', metavar='YYY')>>>parser.add_argument('bar', metavar='XXX')>>>parser.parse_args('X --foo Y'.split())命名空间(bar='X', foo='Y')>>>parser.print_help()用法:[-h] [--foo YYY] XXX位置参数:XXX可选参数:-h, --help 显示此帮助信息并退出--foo YYYY

using argparse i have made a command line tool, which takes below arguments,

usage: ipush [-h] [-v] [-c] [-to [TO]] [-V] [-p PATCHES] [-d DIFF]

from the below code..

parser = argparse.ArgumentParser(prog='ipush',
    description='Utility to push the last commit and email the color diff')
parser.add_argument('-v', '--verbose', action='store_true',
    help='if enabled will spit every command and its resulting data.')
parser.add_argument('-c', '--compose', action='store_true',
    help='compose message in default git editor to be sent prefixed with diff')
parser.add_argument('-to', type=validate_address, default=os.getenv('myemail'),
    help='enter a valid email you want to send to.', nargs='?')
parser.add_argument('-V', '--version', action='version',
    version='%(prog)s 1.0')
parser.add_argument('-p', '--patches', type=int, default=0,
    help='total number of pathces of last commits to email')
parser.add_argument('-d', '--diff', required=False, default='HEAD^ HEAD',
    help='if present pass arguments to it as you \
    will do to git diff in inverted commas')

is it possible to display TO in [-to [TO]] PATCHES in [-p PATCHES] and DIFF in [-d DIFF] with a different text?

解决方案

Yes, as described in the argparse documentation:

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', metavar='YYY')
>>> parser.add_argument('bar', metavar='XXX')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage:  [-h] [--foo YYY] XXX

positional arguments:
 XXX

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

这篇关于是否可以更改 argparse 参数名称的显示文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆