この文字列からエラーのリストを取得するにはどうすればよいですか?
>>> out = "<class 'api.exceptions.DataError'>:[u'Error 1', u'Another error']"
json モジュールを使用してみましたが、うまくいきませんでした。
>>> import json
>>> errors = out.split(":")[-1]
>>> my_list = json.loads(errors)
私はこの例外を受け取ります:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/json/__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
私が望むものを得るためにコードを調整する方法を提案してください。
編集:ユースケースを追加しました。
私の質問が適用されるコンテキストは次のとおりです。
try:
# some code generating an xmlrpclib.Fault exception
pass
except xmlrpclib.Fault, err:
# here print dir(err) gives:
# ['__class__', '__delattr__', '__dict__', '__doc__', '__format__',
# '__getattribute__', '__getitem__', '__getslice__', '__hash__', '__init__',
# '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
# '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__',
# '__unicode__', '__weakref__', 'args', 'faultCode', 'faultString', 'message']
exit(err.faultString)
# exits with: "<class 'api.exceptions.DataError'>:[u'Error 1', u'Another error']"