python - argparse add_argument 别名

标签 python argparse

有没有办法使用 argparse 创建别名?

例如,我想做这样的事情:

parser.add_argument('--foo' ...)
parser.add_argument_alias('--bar', '--foo')

也就是说,使用--bar应该等同于使用--foo

最佳答案

您可以简单地调用:

parser.add_argument('--foo', '--bar', ...)

至少对于 Python 3.5。

这是我在 ipython 中测试它的方式:

In [1]: import argparse

In [2]: parser = argparse.ArgumentParser()

In [3]: parser.add_argument('--foo', '--bar')
Out[3]: _StoreAction(option_strings=['--foo', '--bar'], dest='foo', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)

In [4]: parser.parse_args(['--foo', 'FOO'])
Out[4]: Namespace(foo='FOO')

In [5]: parser.parse_args(['--bar', 'FOO'])
Out[5]: Namespace(foo='FOO')

关于python - argparse add_argument 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50896992/

相关文章:

python - 使用理解而不是 for 循环

python - argparse 中子解析器之后的可选参数

Python argparse : get an argument without parsing

python - 是否可以使用 argparse (Python) 在另一个组内创建一个互斥组?

python - Django REST Framework 序列化程序 - 访问现有的外键

python - 有没有办法获取谷歌云任务状态?

python - 从 python 中的 csv 创建具有唯一属性的唯一节点字典以加载到 neo4j

python - 我正在尝试使用 os.mkdir 创建目录

python - 子解析器 argparse "error: too few arguments"

python - 使用 unittest 测试 argparse - 退出错误