为了账号安全,请及时绑定邮箱和手机立即绑定

如何执行python Web API请求仅在存在时才返回值

如何执行python Web API请求仅在存在时才返回值

12345678_0001 2021-10-10 16:47:23
我正在尝试进行 api 连接,一切正常,但是当 python 必须打印一些不存在的值时,它给了我错误。当值存在时一切正常代码:(使用python 3.7)r = requests.get('https://api.csgofloat.com/?url=%s' %floaat, headers={})data = r.json()print("Sticker 1: %s" %data['iteminfo']['stickers'][0]['name'])print("Sticker 2: %s" %data['iteminfo']['stickers'][1]['name'])print("Sticker 3: %s" %data['iteminfo']['stickers'][2]['name'])print("Sticker 4: %s" %data['iteminfo']['stickers'][3]['name'])当我拥有所有 4 个值时,我得到所有值,但只有 1 个值,它打印存在的值,然后给出错误并退出脚本,并且没有返回值,我只得到错误(如前所述)打印错误:回溯(最近一次调用):文件“C:\Users\Joao\Desktop\Folderzz\Scripts\script.py”,第 47 行,打印中(“Sticker 1: %s” %data['iteminfo']['贴纸'][0]['name']) IndexError:列表索引超出范围
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

问题是你不知道有多少“贴纸”进来,所以你应该做一个循环:


i = 0

for sticker in data['iteminfo']['stickers']

   i += 1

   print "Sticker {}: {}".format(i, sticker)


查看完整回答
反对 回复 2021-10-10
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号