python - 减去python请求
问题描述
我正在使用 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)
解决方案
减法仅适用于某些数据类型。.__sub__
(具体来说,只能减去具有方法的对象。)
我不确定是什么.data
,根据文档它不存在,但如果它存在,它显然不是可减去的。
如果您从端点返回一个简单的数字,您可以先转换它:
response = float(response1.data) - float(response2.data)
否则,您将不得不深入研究响应类型是什么,并相应地工作。(提示:如果你不知道,可能是 json。)
顺便说一句,如果我认为没有 undeclared .data
,您想要.text
或.json()
得到响应。
参考
https://docs.python-requests.org/en/latest/api/#requests.Response
推荐阅读
- laravel - Laravel 8 模板布局插槽与 Laravel 旧部分、产量和扩展?
- node.js - 如何查询特定频道中的所有消息?获取流.io
- scala - 我可以控制在 Scala 3 中编译宏的顺序吗?
- docker - 检查 Docker 镜像和 Docker 文件
- ethereum - 以太坊监听所有交易
- docker - 如何从在另一个 docker 容器中运行的应用程序在 Docker-Compose 中启动 docker 容器
- r - 安装magick/summarytools
- c# - 如何用外键插入数据?
- c - 用作 C 中联系人议程的最有效结构
- spring - 即使出现“ORA-01438:值大于此列允许的指定精度”错误,是否仍会写入一行?