Python Twitter软件包:获取错误代码



我还不熟悉Python中的错误处理。我想知道如何使用python-twitter软件包获取错误时如何检索错误代码:

import twitter
#[...]
try:
    twitter_connexion.friendships.create(screen_name = "someone_who_blocked_me", follow = True)
except twitter.TwitterHTTPError as twittererror:
     print(twittererror)

twitter发送的状态403 for url:1.1/友谊/create.json使用参数:(关注= true& amp; oauth_consumer_key_key = xxx& oauth_nonce = xxx& oauth_signature_macignature_macenature_macty_machod = hmac-sha1& oauth_tement = hmp; oauth_ xxx&omp; amp; uth_version = 1.0& screet_name = somey_who_blocked_me& oauth_signature = xxx( 详细信息:{'errors':[{'消息':'您已根据用户的要求被阻止遵循此帐户。','代码':162}]}

在这种情况下,我想检索'code': 162零件,或者只是162

twittererror.args是一个元组,其中有一个元素,即字符串, print(twittererror.args[0][0:10])输出 Twitter se

如何获得162

(显然,twittererror.args[0][582:585]不是我要寻找的答案,因为任何其他错误消息的长度都不同,并且错误代码不会在[582:585]上(

查看在此github repo中如何定义的Twitterhttperror,您应该使用twittererror.response_data获得DICT。

因此,您可以做类似的事情:

import twitter
#[...]
try:
    twitter_connexion.friendships.create(screen_name = "someone_who_blocked_me", follow = True)
except twitter.TwitterHTTPError as twittererror:
     for error in twittererror.response_data.get("errors", []):
          print(error.get("code", None))

最新更新