首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:“dict”对象不能在discord.py中调用

TypeError:“dict”对象不能在discord.py中调用
EN

Stack Overflow用户
提问于 2018-10-21 18:37:37
回答 1查看 463关注 0票数 0

我刚开始编写代码,我制作了一个不和谐的机器人,它可以访问API,但是我正在做的一个特定特性根本不起作用,在api中,一切都是这样的,这就是全部,

代码语言:javascript
复制
    [{imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/F06C5733_large.png", manifestId: 5733,…},…]
0: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/F06C5733_large.png", manifestId: 5733,…}
1: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/7F34984_large.png", manifestId: 984,…}
2: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/E6B6417_large.png", manifestId: 417,…}
3: {,…}
4: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/845E743_large.png", manifestId: 743,…}
5: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/3E9F5241_large.png", manifestId: 5241,…}
6: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/9C766302_large.png", manifestId: 6302,…}
7: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/65696303_large.png", manifestId: 6303,…}
8: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/25A56304_large.png", manifestId: 6304,…}
9: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/BBB66307_large.png", manifestId: 6307,…}

正如您所看到的,它是一个列表,而不是一个dict,所以我不能使用与我的其他命令相同的代码,因为那是dict。

代码语言:javascript
复制
  if req.status_code == 200:
    try:
      print(req.json())
      lifetime_stats = req.json()['lifeTimeStats']
      return lifetime_stats[0:]
    except KeyError:
      return False
  else:
    return False

我试图用于这一项的代码是

代码语言:javascript
复制
  if req.status_code == 200:
    try:
      print(req.json())
      storefront_catalog = req.json()[0]
      return storefront_catalog()
    except KeyError:
      return False
  else:
    return False

当我试图将TypeError: list indices must be integers or slices, not str的结尾变成字符串时,我一直得到错误的req.json,所以我把它变成了一个数字,从return storefront_catalog取走了这个数字,现在它搜索了api,并在控制台中显示了它,然后给出了错误TypeError: 'dict' object is not callable

我可能在这里说了一些错误的话,因为我说我对编码和python非常陌生。

感谢任何帮助我的人

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-21 18:43:35

这只是猜测,但看起来您最近的错误是执行return storefront_catalog()的结果。因为此时storefront_catalog不是一个可调用的对象,而是一个字典,所以您不能像调用方法一样调用它。我不知道您想用这个返回语句做什么,但是如果您想“让它工作”,可以尝试使用return storefront_catalog。顺便提一下,我建议在调试代码时使用type方法作为初步步骤。这将告诉你你在工作的类型,并应该帮助你找出你的错误所在。您可以在print中这样称呼它:

代码语言:javascript
复制
print(type(storefront_catalog))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52918605

复制
相关文章

相似问题

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