在Python中,可以使用argparse模块来解决这个问题。下面是一个示例代码:
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('-x', action='store_true', help='Option x')
group.add_argument('-y', action='store_true', help='Option y')
group.add_argument('-z', action='store_true', help='Option z')
args = parser.parse_args()
if args.x and args.y:
print("Option x and y are selected")
elif args.z:
print("Option z is selected")
else:
print("Either x and y, or z should be selected")
在这个示例中,使用argparse.ArgumentParser()
创建一个解析器对象。然后,使用add_mutually_exclusive_group()
方法创建一个互斥的选项组。
然后,使用add_argument()
方法添加选项。在这个示例中,我们添加了三个选项:-x
,-y
和-z
。-x
和-y
是互斥的,所以它们被添加到同一个组中。
使用parse_args()
方法解析命令行参数,并将结果存储在args
变量中。
最后,使用条件语句检查选项的组合情况,并打印相应的消息。如果args.x
和args.y
都为True,则打印"Option x and y are selected"。如果args.z
为True,则打印"Option z is selected"。否则,打印"Either x and y, or z should be selected"。