Python argparse:需要两个corequisite位置参数

时间:2016-09-20 15:45:40

标签: python python-2.7 argparse

使用argparse,如何指定我希望两个位置参数一起出现或根本不出现?即我希望我的用法字符串看起来像:

Usage: FooBar.py [-h] [FOO BAR]

1 个答案:

答案 0 :(得分:2)

正如@hpaulj所建议的,这是一个可以使用的解决方案:

In [1]: import argparse
In [2]: parser = argparse.ArgumentParser(description="bla bla")
In [3]: parser.add_argument("--foo", nargs=2, help="a foo argument")

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

In [5]: parser.parse_args([])
Out[5]: Namespace(foo=None)

In [6]: parser.print_help()
usage: ipython [-h] [--foo FOO FOO]

bla bla

optional arguments:
  -h, --help     show this help message and exit
  --foo FOO FOO  a foo argument