如何检查某个字典是否存在文件中

2024-06-29 01:08:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要知道我正在打开的json文件中是否存在一个名为“behavior”的字典,该字典带有一个名为apistats的键,这样,如果它存在,我可以进行进一步的处理,如果它不存在,则打开下一个文件

我尝试过设置条件,看看是否存在带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'

Tags: 文件injsondataif字典existsfilename
1条回答
网友
1楼 · 发布于 2024-06-29 01:08:06

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

if key in dictionary:
   ...

例如:

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

或者只是将控件放在一个try-except块中:

try:
    if some control that throws exception: 
       ... 

except: 
    print("does not exist")
    pass 

相关问题 更多 >