Python argparse:需要两个并存位置参数
Python argparse: Require two corequisite positional arguments
如何使用 argparse 指定我希望两个位置参数一起出现或根本不出现? IE。我希望我的用法字符串看起来像:
Usage: FooBar.py [-h] [FOO BAR]
根据@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
如何使用 argparse 指定我希望两个位置参数一起出现或根本不出现? IE。我希望我的用法字符串看起来像:
Usage: FooBar.py [-h] [FOO BAR]
根据@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