9

我正在使用一个互斥组,但我不止一个选项可以进入其中一个互斥组。我希望我的用法看起来像这样:

[--conf CONF | --hostname HOSTNAME --port PORT]

知道如何做到这一点吗?我尝试将参数组添加到互斥组,但互斥部分不适用于子组,它允许--conf file --hostname host --port 22

4

1 回答 1

3

不是使用 argparse 的答案,但仍然可以解决您的问题:使用docopt而不是 argparse 可以让您编写使用模式,并让 docopt 自动解析和验证传递给您的程序的 args。在你的情况下,

prog_name (--conf CONF | --hostname HOST --port PORT)

会给你你想要的互斥组。

于 2013-02-20T17:24:37.137 回答