下面是一个例子,展示了如何使用ArgumentParser
创建一个可选的多个子解析器:
import argparse
# 创建主解析器
parser = argparse.ArgumentParser()
# 创建子解析器1
subparser1 = parser.add_subparsers(dest='subparser1')
subparser1.add_parser('command1')
# 创建子解析器2
subparser2 = parser.add_subparsers(dest='subparser2')
subparser2.add_parser('command2')
# 解析命令行参数
args = parser.parse_args()
# 根据选择的子解析器进行相应的操作
if args.subparser1 == 'command1':
print("执行命令1")
elif args.subparser2 == 'command2':
print("执行命令2")
在上面的例子中,我们首先创建了一个ArgumentParser
对象作为主解析器,并使用add_subparsers()
方法创建了两个子解析器subparser1
和subparser2
。然后,我们分别使用add_parser()
方法为每个子解析器添加了一个命令。
在解析命令行参数时,我们使用parse_args()
方法获取命令行参数,并将其存储到args
变量中。根据args
中的子解析器的值,我们可以确定用户选择了哪个子解析器,然后执行相应的操作。