不同模式下使用不同的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对象中。

相关内容

热门资讯

透视能赢!wepoker高级辅... 透视能赢!wepoker高级辅助,wepoker怎么挂底牌(透视)AI教程(有挂工具)1、超多福利:...
透视辅助!wejoker辅助软... 透视辅助!wejoker辅助软件,wepoker养号规律(透视)玩家教程(有挂攻略);1.wejok...
透视模拟器!wepoker可以... 透视模拟器!wepoker可以免费玩吗,wepoker可以开透视吗(透视)可靠技巧(有挂介绍)wep...
透视黑科技!wepoker辅助... 透视黑科技!wepoker辅助器激活码,wepoker透视有没有(透视)必备教程(有挂技巧)1、用户...
透视科技!we-poker是什... 透视科技!we-poker是什么软件,wepoker辅助器安装包(透视)2025新版技巧(有挂规律)...
透视规律!wepoker透视脚... 透视规律!wepoker透视脚本是什么,wepokerplus开挂(透视)玩家教你(有挂工具);1、...
透视好友房!wepoker怎么... 透视好友房!wepoker怎么增加运气,wepoker可以开透视吗(透视)实用技巧(有挂脚本)1、许...
透视游戏!wepoker作弊视... 透视游戏!wepoker作弊视频,wepoker是不是有人用挂(透视)新2025版(有挂黑科技)1、...
透视总结!wepoker透视底... 透视总结!wepoker透视底牌脚本,wepoker好友局透视(透视)详细教程(有挂细节);亲,关键...
透视app!wepoker轻量... 透视app!wepoker轻量版透视系统,wepoker科技辅助器(透视)扑克教程(有挂细节)1、打...