如何检查文件中是否存在特定词典

时间:2019-06-23 12:27:05

标签: python dictionary

我需要知道我正在打开的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'

1 个答案:

答案 0 :(得分:0)

您可以按以下方式检查字典中的键:

3

例如:

if key in dictionary:
   ...

或者只是尝试一下您的控件-例外:

if "behavior" in data:
    if "apistats" in data["behavior"]:
        ...