我需要接受命令行中的三个开关之一,--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 选项。
这是可能的,如果是这样的话?