我还不是很熟悉 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 为 URL 发送状态 403:1.1/friendships/create.json 使用参数:(follow=True&oauth_consumer_key=XXX&oauth_nonce=XXX&oauth_signature_method=HMAC-SHA1&oauth_timestamp=XXX&oauth_token=XXX&oauth_version_whosign's{oauth_version_whoname_errors=oauth_version_name_errors{auth_version_name_errors{auth_version_name_errors_auth_signature_somethonedetails} 'message': '应用户的要求,您已被阻止关注此帐户。', 'code': 162}]}
在这种情况下,我想检索'code': 162
零件,或者只是检索162
.
twittererror.args
是一个包含一个元素的元组,它是一个字符串,print(twittererror.args[0][0:10])
输出Twitter se
我怎样才能得到162
?
(显然,twittererror.args[0][582:585]
这不是我正在寻找的答案,因为任何其他错误消息的长度都不同,并且错误代码不会在[582:585]
)
查看此 GitHub 存储库中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))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句