Python argparse:需要两个必要的位置参数 [英] Python argparse: Require two corequisite positional arguments

查看:204
本文介绍了Python argparse:需要两个必要的位置参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Using argparse, how do I specify that I want two positional arguments to appear together or not at all? I.e. I want my usage string to look like:

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

推荐答案

按照@hpaulj的建议,可以使用以下解决方案:

As suggested by @hpaulj, here's a solution you could use:

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

这篇关于Python argparse:需要两个必要的位置参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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