为了账号安全,请及时绑定邮箱和手机立即绑定

从tweepy异常实例获取错误代码

从tweepy异常实例获取错误代码

富国沪深 2021-03-30 15:32:38
我是python的新手,正在尝试使用一个库。它提出了一个例外,我正在尝试确定哪个例外。这是我正在尝试的:except tweepy.TweepError as e:    print e    print type(e)    print e.__dict__    print e.reason    print type(e.reason)这就是我得到的:[{u'message': u'Sorry, that page does not exist', u'code': 34}]<class 'tweepy.error.TweepError'>{'reason': u"[{u'message': u'Sorry, that page does not exist', u'code': 34}]", 'response': <httplib.HTTPResponse instance at 0x00000000029CEAC8>}[{u'message': u'Sorry, that page does not exist', u'code': 34}]<type 'unicode'>我正在尝试获取该代码。我尝试了e.reason.code,但没有成功,我也不知道要尝试什么。
查看完整描述

3 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

这个怎么样?


except tweepy.TweepError as e:

    print e.message[0]['code']  # prints 34

    print e.args[0][0]['code']  # prints 34


查看完整回答
反对 回复 2021-04-02
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

要仅获取错误代码,请使用发布的monq方法。以下示例说明了如何同时获取错误代码和消息。我必须从e.reason字符串中提取消息,如果有人有更好的方法来仅检索消息,请分享。


注意:此代码应适用于以下格式的任何错误代码/原因。


[{'code':50,'message':'找不到用户。'}]


def getExceptionMessage(msg):

    words = msg.split(' ')


    errorMsg = ""

    for index, word in enumerate(words):

        if index not in [0,1,2]:

            errorMsg = errorMsg + ' ' + word

    errorMsg = errorMsg.rstrip("\'}]")

    errorMsg = errorMsg.lstrip(" \'")


    return errorMsg

您可以这样称呼它:


try:

    # Some tweepy api call, ex) api.get_user(screen_name = usrScreenName)

except tweepy.TweepError as e:

    print (e.api_code)

    print (getExceptionMessage(e.reason))


查看完整回答
反对 回复 2021-04-02
  • 3 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信