如何筛选字典中状态码为200的Response对象条目?
解决方法
你的代码问题在于直接把requests.models.Response对象和字符串做比较,两种类型完全不匹配,自然筛选不出结果。正确的做法是利用Response对象自带的status_code属性来判断状态码:
方式一:普通循环写法
new_dict = {} for k, v in results.items(): if v.status_code == 200: new_dict[k] = v
方式二:字典推导式(更简洁)
new_dict = {k: v for k, v in results.items() if v.status_code == 200}
补充说明
你打印Response对象时看到的<Response [200]>只是它的字符串表示(由对象的__str__方法生成),但对象本身并不是字符串,必须通过它的属性来获取真实的状态码数值。
内容的提问来源于stack exchange,提问作者My80
相关产品推荐
相关产品推荐

