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

我正在尝试进行 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:列表索引超出范围


12345678_0001
浏览 155回答 1
1回答

大话西游666

问题是你不知道有多少“贴纸”进来,所以你应该做一个循环:i = 0for sticker in data['iteminfo']['stickers']   i += 1   print "Sticker {}: {}".format(i, sticker)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python