gpt4 book ai didi

Python (DICT) - 用 JSON 填充 - 无法在请求中使用变量

转载 作者:行者123 更新时间:2023-12-01 03:19:02 27 4
gpt4 key购买 nike

我想知道你是否可以帮我解决我目前正在处理的一段代码。我是 Python 新手,这是我尝试编写的第一个主要脚本之一。

import json, sys
from pprint import pprint
#Importing workbench json output into the python script.
with open('jsonoutput.json') as data_file:
data = json.load(data_file)

#Sets the verible for the while loop.
x = int(0)

while x <= 1:
y = x
print type(data)
jdata = data["result"]["items"][y]["tagValues"]["IdDevicesMap"]["value"]
if setup_1(jdata) == True:
Default_1 += 1
else:
print "exiting"

运行时出现错误:

Traceback (most recent call last):
File "main.py", line 47, in <module>
jdata = data["result"]["items"][y]["tagValues"]["IdDevicesMap"]["value"]
KeyError: 'tagValues'

顺便说一句,当我手动将列表编号 [y] 设置为 1 时,代码运行完美。所以这就像我将变量 [y] 输入到请求中的方式有​​问题。

最佳答案

我很确定您读到的 json 中并不都有 tagValues。您可能想尝试 try: 和 except:

import json, sys
from pprint import pprint
#Importing workbench json output into the python script.
with open('jsonoutput.json') as data_file:
data = json.load(data_file)
x = 0
while True:
try:
jdata = data["result"]["items"][x]["tagValues"]["IdDevicesMap"]["value"]
if setup_1(jdata) == True:
Default_1 += 1
else:
print "exiting"
break
except KeyError:
print data["result"]["items"][x]
pass
x+=1

以Pythonic方式做到这一点:

import json, sys
from pprint import pprint
#Importing workbench json output into the python script.
with open('jsonoutput.json') as data_file:
data = json.load(data_file)

for x, d in enumerate(data["result"]["items"]): #in case you need a counter
try:
jdata = d["tagValues"]["IdDevicesMap"]["value"]
if setup_1(jdata) == True:
Default_1 += 1
else:
print "exiting"
break
except KeyError:
pass

关于Python (DICT) - 用 JSON 填充 - 无法在请求中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42157016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com