下面是一个使用Argparse多级解析器/子解析器的示例代码:
import argparse
# 创建一个解析器
parser = argparse.ArgumentParser()
# 创建一个子解析器
subparsers = parser.add_subparsers(dest='command')
# 创建子解析器的子命令
subparser1 = subparsers.add_parser('add')
subparser1.add_argument('numbers', type=int, nargs='+', help='要相加的数字')
subparser2 = subparsers.add_parser('subtract')
subparser2.add_argument('numbers', type=int, nargs='+', help='要相减的数字')
# 解析命令行参数
args = parser.parse_args()
# 根据命令调用相应的函数
if args.command == 'add':
result = sum(args.numbers)
print(f'结果:{result}')
elif args.command == 'subtract':
result = args.numbers[0] - sum(args.numbers[1:])
print(f'结果:{result}')
这个示例代码演示了如何使用Argparse创建一个包含多级解析器/子解析器的命令行工具。在这个例子中,我们创建了两个子命令:add
和subtract
。每个子命令都有一个可选参数numbers
,它接受一个或多个整数作为输入。
你可以通过以下命令行来运行这个示例代码:
python script.py add 1 2 3
这会输出结果:6
或者:
python script.py subtract 10 2 3
这会输出结果:5
希望这个示例能帮助你理解如何使用Argparse创建多级解析器/子解析器,并添加可选参数。