在argparse模块中,当创建互斥组选项时,可以使用add_argument函数中的required=False和nargs="?"参数来表示该互斥组选项可以没有互斥组成员。由于互斥组成员中至少有一个为必须出现的选项,因此我们需要使用mutually_exclusive_group()函数来创建一个互斥组。
以下是一个示例,其中两个互斥组成员--a和--b可以在命令行参数中的任何位置出现:
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('--a', action='store_true', help='Option A')
group.add_argument('--b', action='store_true', help='Option B')
parser.add_argument('input_filename', help='Input filename')
parser.add_argument('output_filename', help='Output filename')
args = parser.parse_args()
print(args)
这个脚本可以使用以下命令运行,并可以将--a和--b放置在任何位置:
python script.py input.txt output.txt --a --b
python script.py input.txt --a output.txt --b
python script.py --a input.txt output.txt --b
python script.py --b input.txt output.txt --a