如何解决Python NoneType或空值检查
我正在使用python3请求从API提取数据。然后,我对响应进行json处理。字段之一可以具有字符串值或为null。首先进行一个简单的测试,我一直在将值打印到屏幕上。但是,当该值为null时,由于使用NoneType类,因此无法打印,并且失败。如果我打印出类型,我会看到“
下面的代码。我正在检查响应是否为None,并且仅在不为null时打印出来。但是,当jResponse [“ variable”]的值为null或无时,我现在收到错误TypeError: 'NoneType' object is not subscriptable
并指向if语句行。
response = requests.request("GET",url,headers=headers,data = payload)
jResponse = response.json()
if jResponse["variable"] is not None:
print(jResponse["variable"])
如果结果不为null,则上面的结果将打印出变量数据,但为null时,它将失败。
我认为is not None
是检查python null的正确方法。
编辑-请求回复:
"response": {
"variable1": value,"variable2": value,"variable3": value,"section1": {
"variable1": value,"variable2": null,
第1节中的variable2是我正在检查的变量,有时可以为null。所有其他变量的响应都很好。
解决方法
您应该检查jResponse是否也不是:
$conn
,
我发现我对状态200 OK的检查不在正确的位置,实际上,当我的while循环开始后,我的超时为408。因此,即使我认为响应会回来,但实际上是在数据收集期间超时。我将200 OK检查调高了,现在所有响应和数据收集都必须通过200 OK检查。我现在感觉很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。