我需要知道我正在打开的json文件中是否存在带有名为apistats的键的名为'behavior'的字典,以便如果存在该字典可以做进一步的处理,如果不存在则打开下一个文件< / p>
我尝试过放置条件是否存在带有apistats的字典,但是它给出了错误。 我也不能只检查行为中的关键apistats,因为对于某些文件而言,行为字典根本不存在
for filename in glob.glob('*.json'):
with open(filename) as json_file:
data=json.load(json_file)
if data['behavior']['apistats']:
print ('exists')
else:
print("doesn't")
Expected:
exists
exists
doesn't
Actual Output:
File "C:/Users/sidra/Desktop/extractor/ectractor.py", line 12, in <module>
if data['behavior']['apistats']:
KeyError: 'apistats'
答案 0 :(得分:0)
您可以按以下方式检查字典中的键:
3
例如:
if key in dictionary:
...
或者只是尝试一下您的控件-例外:
if "behavior" in data:
if "apistats" in data["behavior"]:
...