Python argparse参数依赖

时间:2016-10-28 11:51:36

标签: python argparse

我有两个参数: - 1st和--2nd 我只是在设置“1st”参数时才尝试使用“-2nd”参数。

例如:

如果设置了“1st”并且设置了“2nd” - 那么

如果未设置“1st”且未设置“2nd” - 良好

其他情况很糟糕。请帮帮我

1 个答案:

答案 0 :(得分:2)

我喜欢Kabanus'解。这是另一个,对于新用户来说更简单:

parser = argparse.ArgumentParser()
parser.add_argument('--first')
parser.add_argument('--second')
options = parser.parse_args()

# Error checking
if (options.first is None) != (options.second is None):
    print 'Error: --first and --second must both be supplied or omitted'

讨论

  • 我不使用--1st--2nd,因为options.1st不起作用,而getattr(options, '1st') is too messy. Instead, I use - 首先and - 秒`用于说明目的
  • 表达式(options.first is None) != (options.second is None)简洁地表达了您的错误情况。