TypeError:中的API不可调用“dict”对象不和.py

2024-04-20 00:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始编码,我正在制作一个访问API的不和谐机器人,但我正在研究的一个特定功能根本就不起作用,在API中,所有的东西都是这样显示的,而这就是全部

    [{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

^{pr2}$

我想用的代码是

  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 strreq.json文件一个字符串,所以我把它变成一个数字,并从return storefront_catalog中取出这个数字,现在它在api中搜索并在控制台中全部显示出来,然后给出错误TypeError: 'dict' object is not callable

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

感谢所有帮助过我的人


Tags: httpscomjsonreturnpngcdnreqdict
1条回答
网友
1楼 · 发布于 2024-04-20 00:26:05

这只是一个猜测,但看起来您最近的错误是执行return storefront_catalog()操作的结果。因为此时,storefront_catalog不是一个可调用的对象,而是一个字典,所以不能像方法一样调用它。我不知道您想用这个return语句做什么,但是如果您想“使它工作”,您可以尝试使用return storefront_catalog。另外,我建议在调试代码时使用type方法作为初步步骤。这会告诉你你在和什么类型的人一起工作,并能帮助你找出哪里出了问题。您可以这样用print来调用它:

^{1}$

相关问题 更多 >