首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python中的KeyError,即使键存在

Python中的KeyError,即使键存在
EN

Stack Overflow用户
提问于 2020-04-29 23:15:13
回答 1查看 98关注 0票数 0

我已经在这个问题上挠头好几天了,似乎找不到一个在线解决方案来解决我的问题。我正在尝试访问zendesk上的数据并查看分页。由于某种原因,我得到了一个KeyError,尽管我可以看到密钥确实存在。下面是我的代码:

代码语言:javascript
复制
data_users2 = [[]]
while url_users:
    users_pagination = requests.get(url_users,auth=(user, pwd))

    data_user_page = json.loads(users_pagination.text)

    print (data_user_page.keys())

    for user in data_user_page['users']:
        data_users2.append(user)
    url = data_user_page['next_page']

下面是输出:

代码语言:javascript
复制
dict_keys(['users', 'next_page', 'previous_page', 'count'])
dict_keys(['error'])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-22-fab95d95ddeb> in <module>
      6     data_user_page = json.loads(users_pagination.text)
      7     print (data_user_page.keys())
----> 8     for user in data_user_page["users"]:
      9         data_users2.append(user)
     10     url = data_user_page["next_page"]

KeyError: 'users' 

如您所见,用户确实存在。如果我尝试打印next_page,也会发生同样的事情,我得到的是next_page的KeyError。

任何帮助都将不胜感激!谢谢!

EN

Stack Overflow用户

发布于 2020-04-29 23:20:53

您的代码在循环的第二次迭代中失败,此时data_user_page中的键就是“错误”,正如您在粘贴的输出中所看到的那样

代码语言:javascript
复制
dict_keys(['users', 'next_page', 'previous_page', 'count']) <----- FIRST ITERATION
dict_keys(['error']) <---- SECOND ITERATION, THEREFORE, YOUR KEY DOES NOT EXISTS
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-22-fab95d95ddeb> in <module>
      6     data_user_page = json.loads(users_pagination.text)
      7     print (data_user_page.keys())
----> 8     for user in data_user_page["users"]:
      9         data_users2.append(user)
     10     url = data_user_page["next_page"]

KeyError: 'users' 

编辑:这可能是因为您将下一个url保存在名为url而不是url_users的变量中

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61505229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档