我还不熟悉Python中的错误处理。我想知道当我使用import twitter
#[...]
try:
twitter_connexion.friendships.create(screen_name = "someone_who_blocked_me", follow = True)
except twitter.TwitterHTTPError as twittererror:
print(twittererror)
包收到错误时如何检索错误代码:
'code': 162
Twitter使用参数发送URL:1.1 / friendships / create.json的状态403 :( follow = True& oauth_consumer_key = XXX& oauth_nonce = XXX& oauth_signature_method = HMAC-SHA1& oauth_timestamp = XXX& oauth_token = XXX& oauth_version = 1.0 &安培; SCREEN_NAME = someone_who_blocked_me&安培; oauth_signature = XXX) 详细信息:{'错误':[{'消息':'您已被禁止在用户请求时关注此帐户。',&#39 ;代码':162}]}
在这种情况下,我想要检索162
部分,或仅检索twittererror.args
。
print(twittererror.args[0][0:10])
是一个元组,其中包含一个元素,这是一个字符串,Twitter se
输出162
如何获得twittererror.args[0][582:585]
?
(显然,[582:585]
不是我正在寻找的答案,因为任何其他错误消息的长度都不同,错误代码不会出现在{{1}} )
答案 0 :(得分:4)
查看如何在this GitHub repo中定义TwitterHTTPError,您应该使用twittererror.response_data
获取该字典。
因此你可以这样做:
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))