使用Python optparse处理独占命令行开关

时间:2016-05-11 08:29:58

标签: python optparse

我需要接受命令行中的三个开关之一,--major--minor--patch,或者没有一个默认为次要的。由于环境的限制(Python 2.6.x),我使用optparse这样做,所以我无法改变它。

我理想的目标是optparse完成繁重的工作,所以我不必编写代码来检查选项是否排除等等。我也很感激它是否可以给出一个来自--help的整洁且易于理解的输出,例如:

[--major|minor|patch]   whether to build as a new major/minor/patch
                        version. minor is default.

或类似的东西(即理想情况下都在同一条线上)。我尝试了以下方法:

parser.add_option('', '--major', dest='rel_type')
parser.add_option('', '--minor', dest='rel_type')
parser.add_option('', '--patch', dest='rel_type')

但是--help给了我:

--major=REL_TYPE
--minor=REL_TYPE
--patch=REL_TYPE

我知道可以使用:

... type='choice', choices=['major', 'minor', 'patch'] ...

但这不是我想要的,因为它们是 value 枚举而不是 switch 选项。

这是可能的,如果是这样的话?

0 个答案:

没有答案
相关问题