我从PUT请求中收到两条冲突的错误消息。我正在使用Python请求模块和客户端.response.text看起来像这样:
{u'status': 400, u'errors': {u'error': u'We have identified 1 error
in your request: (1) We could not download the URL'},
u'reference': u'4C7EC36B:CE5D_0A40E1F1:01BB_5A822CF3_EFE35:18B1'}
{u'status': u'accepted', u'mediaId': u'f3327905-1873-4e0d-b07c-
4e7f88741c3b', u'_links': {u'self': {u'href': u'/v2-
beta/media/f3327905-1873-4e0d-b07c-4e7f88741c3b'}}, u'metadata':{}}
问题是我的代码需要使用mediaId,如果第400个状态不存在,它会读取它,但由于我似乎无法摆脱这个错误,我需要它跳过它并阅读状态':'接受'和mediaId。
我尝试用它来迭代:
for status in response:
if 'status' is 'accepted':
file_url = fileURL
external_id = externalId
media_id = response['mediaId']
status = response['status']
results_writer.writerow([ file_url, external_id,
media_id, status])
elif 'status' > 200:
print "blat"
它只进入400状态,没有做第一个"如果"声明。如何更改它以阅读“已接受的”#39;状态响应?
答案 0 :(得分:0)
if 'status' is 'accepted':
elif 'status' > 200:
以上两行是将字符串'status'
与另一个对象进行比较。第一个始终为False,第二个始终为True。您可能想要比较变量,即if status == 'accepted':
(作为旁注,不要使用is
来比较字符串......这些字符串并不总是按照您的想法执行。请改用==
。)