argparse验证在Python类中的问题
创始人
2024-09-13 06:30:39
0

问题描述: 在Python类中使用argparse进行命令行参数解析时,需要进行参数合法性的验证。但是在类中使用argparse进行参数验证时,会存在无法正常抛出错误信息的问题,使得调试变得困难。

通过重写ArgumentParser的error方法,将错误信息通过raise语句抛出,从而解决参数验证时无法正常抛出错误信息的问题。

代码示例:

import argparse

class MyArgumentParser(argparse.ArgumentParser):
    def error(self, message):
        raise ValueError(message)

class MyClass():
    def __init__(self):
        self.parser = MyArgumentParser(description='MyClass Description')
        self.parser.add_argument('--age', type=int, help='Age of the person')
        self.parser.add_argument('--name', type=str, help='Name of the person')

    def parse(self, args):
        return self.parser.parse_args(args)

if __name__ == '__main__':
    obj = MyClass()
    try:
        args = obj.parse(['--age', 'abc'])
    except ValueError as e:
        print(e)

相关内容

热门资讯

解密关于“兴动互娱辅助贴吧开挂... 【亲,兴动互娱辅助贴吧开挂 这款游戏可以开挂的,确实是有挂的,很多玩家在这款兴动互娱辅助贴吧开挂中打...
玩家攻略“丽水都来脚本辅助”本... 玩家攻略“丽水都来脚本辅助”本来有开挂辅助下载(有挂神器);无需打开直接搜索薇:136704302 ...
透视科技“jj斗地主麻将外卦挂... 透视科技“jj斗地主麻将外卦挂”先前有开挂辅助挂(竟然有挂);无需打开直接搜索加(薇:1367043...
重磅来袭“多乐找刺激脚本辅助”... 大家好,今天小编来为大家解答多乐找刺激脚本辅助这个问题咨询软件客服可以免费测试直接加微信(13670...
一分钟了解“广东雀神透视”原先... 广东雀神透视是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微信(...
玩家必备科普“微信小程序雀神挂... 玩家必备科普“微信小程序雀神挂件”原先有辅助开挂插件(真实有挂) 了解更多开挂安装加(1367043...
实测教程“情怀游戏辅助器破解版... 实测教程“情怀游戏辅助器破解版苹果”一向有辅助安装(有挂方式)您好:情怀游戏辅助器破解版苹果这款游戏...
透视线上“掌中乐游戏中心脚本”... 【亲,掌中乐游戏中心脚本 这款游戏可以开挂的,确实是有挂的,很多玩家在这款掌中乐游戏中心脚本中打牌都...
揭秘真相“永胜联盟辅助器”往昔... 您好:这款永胜联盟辅助器游戏是可以开挂的,确实是有挂的,很多玩家在这款永胜联盟辅助器游戏中打牌都会发...
玩家亲测“白银胡乐辅助最简单三... 您好:白银胡乐辅助最简单三个步骤这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...