argparse使用add_subparsers()方法去创建子命令。代码: $pythonsubc.py add 1 2 -z 3 x 1 y 2 z 3$pythonsubc.py sub 1 2 -z 3 x 1 y 2 z 3 如果没办法判断你使用的是哪个子命令的。所幸的是argparse提供了一个一个方法set_defaults(),可以将子命令绑定特定的函数 运行结果:
parser_add = subparsers.add_parser("add", help="Add two numbers") parser_add.add_argument("num1", type=float) parser_add.add_argument("num2", type=float) parser_add.set_defaults(func=add) parser_subtract = subparsers.add_parser("subtract", help="Subtract two numbers") parser_subtract...
parser_add = subparsers.add_parser('add', help='加法') parser_add.add_argument('x', type=int, help='第一个操作数') parser_add.add_argument('y', type=int, help='第二个操作数') parser_add.set_defaults(func=add) parser_subtract = subparsers.add_parser('subtract', help='减法') ...
add_parser.set_defaults(func=add)# create the parser for command 'sub'sub_parser = subparsers.add_parser('sub',help='calc sub') sub_parser.add_argument('-x',type=int,help='x value') sub_parser.add_argument('-y',type=int,help='y value') sub_parser.set_defaults(func=sub) args ...
parser_sub1.set_defaults(func=subcommand1) # 添加子命令2 parser_sub2 = subparsers.add_parser('subcommand2', help='子命令2的帮助信息') parser_sub2.set_defaults(func=subcommand2) # 解析参数 args = parser.parse_args() # 执行子命令 ...
add_subparsers() 方法创建一个对象,你可以向其添加子命令。唯一需要记住的技巧是,你需要添加通过 set_defaults() 调用的子命令: negate = subparsers.add_parser("negate") negate.set_defaults(subcommand="negate") negate.add_argument("number", type=float) multiply = subparsers.add_parser("multiply")...
parser_a = subparsers.add_parser('add', help='加法运算') parser_a.add_argument('--x', type=int) parser_a.add_argument('--y', type=int) parser_a.add_argument('--z', type=int) parser_a.set_defaults(func=f)#parser_a设置默认函数为f ...
ArgumentParser对象的add_subparsers()方法创建了一个特殊的action实例,对这个实例分别调用add_parser()方法来创建子命令对应的ArgumentParser,再调用这个ArgumentParser实例的add_argument()方法来添加子命令的参数。 一个比较方便的地方在于,可以通过ArgumentParser的set_defaults()方法来设置子命令对应的处理函数。上面的示例...
# cloud-init.pydef main_single(name, args):print("name: ", name)print("args: ", args)print("I am main_single")# 添加一个子解析器subparsers= parser.add_subparsers()parser_single=subparsers.add_parser('single',help='run a single module')# 对single 子解析器添加 action 函数。parser_...
# status status_parser = subparsers.add_parser( 'status', help='Show the working tree status') status_parser.set_defaults(handle=handle_status) 需要说明的是,在 status_parser.set_defaults 函数中,能接收任意名称的关键字参数,这个参数值会存放于父解析器解析命令行参数后的变量中。 比如,在本文示例程...