有没有办法使用 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/