gpt4 book ai didi

python - 如何在不进行字符串解析的情况下解析Python中的ValueError?

转载 作者:行者123 更新时间:2023-12-03 08:10:27 29 4
gpt4 key购买 nike

我正在运行编程,并得到预期的ValueError输出:
ValueError: {'code': -123, 'message': 'This is the error'}
我无法弄清楚如何解析此数据,而仅采用代码(或消息)值。如何获取ValueError的code值?

我尝试了以下方法:

  • e.code
  • AttributeError: 'ValueError' object has no attribute 'code'
  • e['code']
  • TypeError: 'ValueError' object is not subscriptable
  • json.loads(e)
  • TypeError: the JSON object must be str, bytes or bytearray, not 'ValueError'

  • 这样做的pythonic方法是什么?

    编辑

    起作用的一件事是获取字符串索引,但是我不想这样做,因为我觉得它不是很pythonic。

    最佳答案

    ValueError 异常类具有 args 属性,该属性是提供给异常构造函数的参数的tuple

    >>> a = ValueError({'code': -123, 'message': 'This is the error'})
    >>> a
    ValueError({'code': -123, 'message': 'This is the error'})
    >>> raise a
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: {'code': -123, 'message': 'This is the error'}
    >>> dir(a) # removed all dunder methods for readability.
    ['args', 'with_traceback']
    >>> a.args
    ({'code': -123, 'message': 'This is the error'},)
    >>> a.args[0]['code']
    -123

    关于python - 如何在不进行字符串解析的情况下解析Python中的ValueError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53571885/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com