python-3.x - Python3中的字符串比较
问题描述
我有一个返回 True、False 和“”的休息 api。我在我的 requests.content 中收到了这个,我得到了字节的类型。我将它们转换为字符串,然后尝试进行比较。但是最后一个 else 块执行留下了第一个和第二个。
import requests
headers = {'Accept': '*/*'}
response = requests.get('http://{IP}/status', headers=headers)
status = response.content
status = str(status)
print(status)
# status returns "True", "False", ""
if (status == "True"):
print ('Admin approved this request')
elif (status == "False"):
print ('Admin disapproved this request')
else:
print ('No response from admin')
得到:-'没有来自管理员的回应'在所有情况下
解决方案
仔细检查您的回复格式。如果它采用 JSON 之类的格式,您可能需要以键/值对的形式访问实际响应(“True”、“False”、“”)。
此外,您可以简单地response.text
使用 UTF-8 编码来获取字符串,而不是转换response.content
为字符串。
https://realpython.com/python-requests/#content
推荐阅读
- rounding - 如何在systemverilog中控制实数的舍入方式
- java - 处理来自数据库的空值
- php - MySQL Query 无法在连接成功时返回数据
- c - 如何添加两个不同的数组?
- nlog - 具有 azure blob 存储容器文件大小的 NLog
- excel - 如何使用 VBA 宏为分析 SAP 报告设置范围日期
- mysql - 使用用户定义的 var 存储 max(date),然后在有子句中使用它
- python - 如何基于 Excel 表创建某个数据框?
- android-studio - 键入属性名称时自动插入空安全运算符
- java - 如何在 Eclipse/Java 中使用 DLL