我正在尝试建立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行,在 print(“ Sticker 1:%s”%data ['iteminfo'] ['stickers'] [0] ['name'])IndexError:列表索引超出范围
答案 0 :(得分:0)
问题是您不知道会有多少“贴纸”进入,因此您应该进行循环:
i = 0
for sticker in data['iteminfo']['stickers']
i += 1
print "Sticker {}: {}".format(i, sticker)