不同模式下使用不同的argparse参数
创始人
2025-01-09 12:00:20
0次

可以通过创建多个ArgumentParser实例来为每个模式定义不同的参数。

示例代码如下:

import argparse

# 定义第一个ArgumentParser实例,用于处理模式A的参数
parser_A = argparse.ArgumentParser(description='Mode A')

parser_A.add_argument('--param_A1', type=int, help='Parameter for Mode A')
parser_A.add_argument('--param_A2', type=str, help='Another Parameter for Mode A')

# 定义第二个ArgumentParser实例,用于处理模式B的参数
parser_B = argparse.ArgumentParser(description='Mode B')

parser_B.add_argument('--param_B1', type=int, help='Parameter for Mode B')
parser_B.add_argument('--param_B2', type=str, help='Another Parameter for Mode B')

# 创建一个父级ArgumentParser实例,用于定义全局参数
parser_parent = argparse.ArgumentParser(add_help=False)
parser_parent.add_argument('--global_param', type=int, help='Global Parameter')

# 创建一个最终的ArgumentParser实例,它会继承父级ArgumentParser,并使用不同的子级ArgumentParser实例处理不同的模式参数
parser = argparse.ArgumentParser(parents=[parser_parent], description='Main Parser')

subparsers = parser.add_subparsers(dest='mode', help='Available modes')

subparsers.add_parser('mode_A', parents=[parser_A])
subparsers.add_parser('mode_B', parents=[parser_B])

args = parser.parse_args()

print(args)

假设我们有两个模式,mode_A和mode_B。当我们想选择某个模式时,我们可以运行以下代码:

python main.py mode_A --param_A1 10 --param_A2 'hello' --global_param 20

或者

python main.py mode_B --param_B1 5 --param_B2 'world' --global_param 30

以上两种方式分别会为相应的模式传递指定的参数,并将它们存储在args对象中。

相关内容

热门资讯

推荐一款!青龙区辅助功能技巧,... 推荐一款!青龙区辅助功能技巧,青龙区本来有辅助技巧(有辅助挂猫腻)1、不需要AI权限,帮助你快速的进...
一秒答解!粤东百乐汇辅助器功能... 一秒答解!粤东百乐汇辅助器功能插件,粤东百乐汇好像真的有辅助器插件(有辅助挂教学)1、在粤东百乐汇插...
玩家攻略!边锋干瞪眼辅助器功能... 玩家攻略!边锋干瞪眼辅助器功能app,边锋干瞪眼一贯是真的有辅助器app(有辅助挂秘诀)边锋干瞪眼透...
玩家必备科普!双扣游戏透视功能... 玩家必备科普!双扣游戏透视功能技巧,双扣游戏一直是真的有透视技巧(有辅助挂攻略)1、点击下载安装,双...
揭秘攻略!飘飘辅助器功能教程,... 揭秘攻略!飘飘辅助器功能教程,飘飘好像是真的有辅助器教程(有辅助挂规律);1、下载好飘飘正确养号方法...
分辨真假!汇和透视功能app,... 分辨真假!汇和透视功能app,汇和其实存在有透视app(有辅助挂方法);1、超多福利:超高返利,海量...
推荐几款新版!今日长牌辅助器功... 推荐几款新版!今日长牌辅助器功能app,今日长牌竟然真的有辅助器app(有辅助挂总结)今日长牌透视方...
总算了解!欢乐龙城2辅助功能插... 总算了解!欢乐龙城2辅助功能插件,欢乐龙城2总是真的是有辅助插件(有辅助挂教学);1、让任何用户在无...
最新技巧!天天斗地主真人版透视... 最新技巧!天天斗地主真人版透视挂功能插件,天天斗地主真人版原来有透视挂插件(有辅助挂分析)一、天天斗...
科技通报!芒果斗地主开挂功能工... 科技通报!芒果斗地主开挂功能工具,芒果斗地主切实真的有开挂工具(有挂辅方法)1)芒果斗地主免费钻石:...