检测OptionPars中存储选项的冲突

2024-05-29 00:17:19 发布

您现在位置:Python中文网/ 问答频道 /正文

使用optpass提供以下代码:

from optparse import OptionParser
opt = OptionParser(version='%prog alfa')
opt.add_option('-a', action='store_true', dest='test')
opt.add_option('-b', action='store_false', dest='test')
opt.set_defaults(test=None)

options, args = opt.parse_args()
print options.test

代码工作正常,但它允许同时使用-a-b执行,最终结果取决于最后指定的选项。请注意,相同的test变量用于指示使用了选项-a-b

限制条件:

  • 我不能使用argparse,因为代码需要使用早于2.4的python版本
  • 我确实需要options.test变量能够拥有NoneTrueFalse这三个值

问题:

如何检测两个选项均已使用?

当两个选项都存在时,我想引发一个错误(使用opt.error)。。。或者至少向用户显示某种警告


Tags: store代码fromtestnoneadd选项args

热门问题