【问题标题】:Subtracting of a python request减去python请求
【发布时间】:2021-09-23 15:17:42
【问题描述】:

我正在使用 python 向 API 发送一个请求,以便提取传感器数据。

我发送的第一个请求是测量传感器的当前时间。

第二个请求是测量自传感器识别到运动以来的时间量。

我希望减去第一个请求,然后是第二个。

下面是我正在使用的拉取数据的方法,效果很好。我只是想不通为什么当我尝试减去它们时它不起作用。

任何帮助将不胜感激。

url = "IPADDRESS"
payload={}
headers = {
  "Authorization":"Password"
}
response1 = requests.request("GET", url, headers=headers, data=payload, verify=False)

print('Current Time: ', response1.text)


url = "IPAddress"
payload={}
headers = {
  "Authorization": "Password"
}
response = requests.request("GET", url, headers=headers, data=payload, verify=False) #HTTP request
print('Time since last motion: ', response.text)


updatedtime = response1.text
occupancelevel = response.text


result = updatedtime - occupancelevel

print(result)

【问题讨论】:

  • response.data 有效吗?我不认为dataResponse 对象的属性
  • 请不要在你的问题中的其他单词加粗,它真的会伤害我的眼睛;)
  • 能分享一下打印出来的结果吗?

标签: python python-requests http-headers


【解决方案1】:

减法仅适用于某些数据类型。 (具体来说,只能减去具有.__sub__ 方法的对象。)

我不确定.data 是什么,根据文档它不存在,但如果存在,它显然不是可减去的。

如果您从端点返回一个简单的数字,您可以先转换它:

response = float(response1.data) - float(response2.data)

否则,您将不得不深入研究响应类型 是什么,并相应地工作。 (提示:如果你不知道,可能是 json。)

顺便说一句,如果我认为没有未声明的.data,您希望.text.json() 得到响应。

参考文献

https://docs.python-requests.org/en/latest/api/#requests.Response

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2016-11-05
    • 1970-01-01
    • 2012-08-21
    • 2021-11-29
    • 2011-07-12
    • 2022-01-10
    相关资源
    最近更新 更多