subparsers简单使用

本文介绍了如何使用Python的argparse模块创建子命令,并设置了默认函数来处理不同命令的参数。通过例子展示了如何为'xiaoheilv'和'daheilv'子命令设置默认参数,并在解析后调用默认函数输出参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

542ef922fb632bc75001a.png)

import argparse

parser = argparse.ArgumentParser(prog = 'PROG')
subparsers = parser.add_subparsers(help = 'sub-command help')
# 添加子命令add
parser_a = subparsers.add_parser('xiaoheilv',help = 'animal xiaoheilv')
parser_a.add_argument('-runSpeed',default=1,type = int,help = 'x value')
parser_a.add_argument('-fur',default=2,type = int,help = 'y value')
# 添加命令sub
parser_s = subparsers.add_parser('daheilv',help = 'animal daheilv')
parser_s.add_argument('-speakerSpeed',default=4,type = int,help = 'x value')
parser_s.add_argument('-fur',default=5,type = int,help = 'y value')

args = parser.parse_args()
print(args)
python Test_args.py xiaoheilv -runSpeed 30 -fur 2

Namespace(fur=2, runSpeed=30)

python Test_args.py daheilv -speakerSpeed 30 -fur 2

Namespace(fur=2, speakerSpeed=30)

设置默认函数
import argparse

parser = argparse.ArgumentParser(prog = 'PROG')
subparsers = parser.add_subparsers(help = 'sub-command help')
def to_string(args):
    print(args.__dict__)
# 添加子命令add
parser_a = subparsers.add_parser('xiaoheilv',help = 'add help')
parser_a.add_argument('-runSpeed',default=1,type = int,help = 'x value')
parser_a.add_argument('-fur',default=2,type = int,help = 'y value')
parser_a.set_defaults(func = to_string)
# 添加命令sub
parser_s = subparsers.add_parser('daheilv',help = 'sub help')
parser_s.add_argument('-speakerSpeed',default=4,type = int,help = 'x value')
parser_s.add_argument('-fur',default=5,type = int,help = 'y value')
parser_s.set_defaults(func=to_string)
args = parser.parse_args()
args.func(args)
python Test_args.py daheilv -speakerSpeed 30 -fur 2

{‘speakerSpeed’: 30, ‘fur’: 2, ‘func’: <function to_string at 0x00000279DC3DDF78>}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值