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

如何使用Python批量加载多个JSON文件并逐次读取执行操作

修正后实现代码及说明
# 先导入需要的依赖模块
import os
import json

def main():
    # 你的JSON文件所在根目录
    path = r'C:\Work\metadata'
    # 遍历目录下所有文件
    for root, _, files in os.walk(path, topdown=True):
        for f in files:
            # 只处理后缀匹配的JSON文件
            if f.endswith("_metameta.json"):
                full_path = os.path.join(root, f)
                try:
                    # 指定utf-8编码打开,避免中文乱码问题
                    with open(full_path, 'r', encoding='utf-8') as fp:
                        data = json.load(fp)
                    
                    # --------------------------
                    # 这里写你要对每个文件执行的操作
                    # 示例:print(f"处理文件:{full_path},文件内字段:{list(data.keys())}")
                    # --------------------------

                except json.JSONDecodeError:
                    print(f"文件{full_path}格式错误,无法解析为JSON")
                except Exception as e:
                    print(f"处理文件{full_path}时出错:{str(e)}")

if __name__ == "__main__":
    main()

调整说明

  • 补充了os、json模块的导入,解决模块未找到的运行报错
  • 删除了没用的m = os.listdir(path)冗余代码,os.walk本身就会递归遍历根目录下所有子目录的文件
  • 把后缀判断从全路径改成了文件名f,逻辑更准确,避免路径中刚好包含对应后缀的误判情况
  • 打开文件时添加了encoding='utf-8'参数,解决Windows系统默认编码和JSON文件通用编码不兼容导致的乱码、解码报错问题
  • 增加了异常捕获逻辑,遇到格式错误的JSON文件或者其他读取问题不会导致整个程序直接崩溃,会打印错误提示后继续处理其他文件
  • 补充了Python脚本标准入口判断if __name__ == "__main__":,符合通用开发规范

内容的提问来源于stack exchange,提问作者Prajakta Bagde

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 22:09:02