Python 如何解决这个问题;期望值:第1行第1列(字符0)“;?
这是我在aimlflow库中创建的函数 这里,self.\u staging\u url= 我称之为test.pyPython 如何解决这个问题;期望值:第1行第1列(字符0)“;?,python,api,python-requests,patch,Python,Api,Python Requests,Patch,这是我在aimlflow库中创建的函数 这里,self.\u staging\u url= 我称之为test.py data = { 'correct_prediction': 'funny', 'is_accurate': 'False', 'newLabel': 'funny', } response = aiservice.update_prediction(data) print('New Prediction Status: ', response )
data = {
'correct_prediction': 'funny',
'is_accurate': 'False',
'newLabel': 'funny',
}
response = aiservice.update_prediction(data)
print('New Prediction Status: ', response )
然后给出如下结果
"Expecting value: line 1 column 1 (char 0)"
New Prediction Status: Expecting value: line 1 column 1 (char 0)
请求URL:
请求方法:补丁
这是请求负载
有一个查询字符串参数部分
如何打印此响应而不出错?无法运行代码来重现错误。请在此处查看您作为a获得的信息:
r=requests.patch(url,headers=self.\u construct\u header(),data=body)
响应=getattr(r,“u内容”)。解码(“utf-8”)
response_json=json.load(响应)
如果将无效的json传递给,则会出现类似的错误消息
导入json
响应=b‘测试数据’。解码(“utf-8”)
打印(答复)
response_json=json.load(响应)
打印(响应\u json)
输出:
test data
Traceback (most recent call last):
...
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
编辑:
在您的情况下,为了避免错误,您需要添加一个if-else
块。收到回复后,您需要检查收到的确切内容
r=requests.patch(url,headers=self.\u construct\u header(),data=body)
#如有必要,请检查内容类型
打印(r.headers['Content-Type'])
响应=getattr(r,“u内容”)。解码(“utf-8”)
如果r.status_code==requests.codes.ok:
#确保获得字符串“success”
#如有必要,用绳子做些什么
返回响应
其他:
#如有必要,检查您的错误:客户端或服务器错误等。
#或者抛出一个异常以指示出现了问题
#如有必要,请确保以json格式获取错误
#如果json无效,也可能会出现错误
#由于api返回json格式的错误消息:
response\u dict=json.load(响应)
返回响应命令
在这些情况下,函数返回字符串“success”或带有错误描述的dict
用法:
数据={
“正确的预测”:“有趣”,
“是否准确”:“错误”,
“新标签”:“有趣”,
}
响应=aiservice.update\u预测(数据)
如果存在(响应,str):
打印('新预测状态:',响应)
其他:
#提供错误信息
#您可以从dict中提取错误描述
@furus您能检查一下吗?这能回答您的问题吗@8349697我试过了,但是我的问题没有通过这个解决是的,我已经发布了测试框架的一部分。因此它无法再现错误。你看到我的代码中有任何不正确的行吗?@ShelomiPriskila你希望得到什么样的响应?如果只有“成功”一行,只需解码并打印即可。不需要使用json.loads()。如果响应应该包含某种json,那是另一个问题。@ShelomiPriskila从API中至少可以得到两种类型的响应。1) 成功回复200。2) json格式的错误消息(例如状态403)。考虑如何打印。是的,我需要打印成功。有一个查询字符串参数作为predictionId。我怎样才能把这个加到身体里?
test data
Traceback (most recent call last):
...
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)