You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

遍历目录JSON文件时调用load方法触发AttributeError问题求助

解决加载JSON文件时的AttributeError问题

嘿,这个问题其实是个很容易犯的变量命名小失误!咱们来一步步拆解:

错误原因

你循环里的变量名是json_file,它本质上是一个字符串类型的文件名,但你却试图调用它的load()方法——这就好比你拿着文件名文本去当工具用,肯定会报错AttributeError: 'str' object has no attribute 'load'。真正应该调用的是Python标准库中json模块提供的load()方法。

修正后的代码

首先确保你已经导入了json模块,然后修改变量名避免和模块名冲突,同时正确调用模块方法:

import json
# 假设backup_folder是pathlib.Path类型的对象
for filename in file_list:
    file_path = backup_folder.joinpath(filename)
    with open(file_path, 'r', encoding='utf-8') as f:
        # 这里用的是json模块的load方法,不是文件名变量!
        json_loaded_data = json.load(f)
    date = json_loaded_data['tradeDate']

额外注意事项:你的示例JSON有语法错误

你提供的示例JSON末尾多了一个多余的闭合大括号},这会导致加载时出现JSON解析错误。修正后的正确JSON应该是:

{ 
  "settlements": [ 
    { 
      "month": "MAR 19", 
      "open": "2.650", 
      "high": "2.744", 
      "low": "2.638", 
      "last": "2.647", 
      "change": "+.059", 
      "settle": "2.642", 
      "volume": "225,563", 
      "openInterest": "250,706" 
    } 
  ] 
}

另外要注意:如果你的JSON文件里实际包含tradeDate字段才能正常获取date值,示例里没看到这个字段,记得确认文件内容是否符合预期哦。

内容的提问来源于stack exchange,提问作者Michael Wentz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:24:05