如果用户使用可选参数-o,则用户也必须使用参数-b。 但是,只有在用户设置参数-o。
时才必须使用-b参数import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('-f', nargs='?', required=True)
parser.add_argument('-o', nargs='?', required=False)
parser.add_argument('-b', nargs='?', required=????)
args = parser.parse_args()
如何解决这个问题?
答案 0 :(得分:2)
在args = parser.parse_args()
之后添加测试:
if args.o and not args.b:
print >> sys.stderr, 'The -b option is required whenever -o is specified'
sys.exit(1)